Cita:
Iniciado por stock Claro que es posible hacerlo inclusive agregando dos listeners diferentes al mismo elemento.
Actualmente lo estas haciendo de una manera muy "arcaica" o "antigua", realmente eso ya no se debería hacer, te recomiendo hacerlo de la siguiente manera:
Código:
//el script
var link = document.getElementById('link');
//podemos agregar varios listeners
link.addEventListener('click',function(){
window.open(this.href, this.target, 'width=500,height=500');
return false;
},false);
//a un mismo evento!!
link.addEventListener('click',function(){
document.location='pagina.php';
return false;
},false)
//el html....
<body>
<a href="pop-up.php" id="link">Abrir pop-up y redireccionar</a>
</body>
De esta manera estarías siguiendo la especificación y escribirías mejor código, para más información:
https://developer.mozilla.org/en/DOM...dEventListener
saludos
PS: no he probado el código pero creo que quedó clara la idea.
Muchas gracias stock, veo muy limpio el código, facil de entender ;)
Sin embargo, no funciona el abrir el pop-up, tan solo la redirección.
Código HTML:
<html>
<head>
<script type="text/javascript">
var link = document.getElementById('link');
//podemos agregar varios listeners
link.addEventListener('click',function(){
window.open(this.href, this.target, 'width=500,height=500');
return false;
},false);
//a un mismo evento!!
link.addEventListener('click',function(){
document.location='otra_web.php';
return false;
},false)
</script>
</head>
<body>
<a href="pop-up.php" id="link">Abrir pop-up y redireccionar</a>
</body>
</html>
Es curioso porque si intercambio los eventos, en lugar de funcionar la redirección, funciona el pop-up. Es decir, es como si solo valiese el último listener...