Quiero deshabilitar todos los enlaces dentro de un IFRAME, cuando las personas hagan clic en esos enlaces, aparecerá una alerta.
Esto es lo que tengo hasta ahora, pero jQuery no hace nada. No estoy seguro de lo que hice mal.
<iframe id='templateframe' name='templateframe' src="templates/template<?php echo $templateID; ?>/login.html"></iframe> $(document).ready(function(){ $('#templateframe').contents().find('a').click(function(event) { alert("demo only"); event.preventDefault(); }); });Gracias por adelantado.
También estaba buscando deshabilitar los enlaces iframe y no pude encontrar una solución. Gracias a HTML5, puede deshabilitar fácilmente los enlaces simplemente agregando el atributo sandbox .
<iframe src="externalsite.com" sandbox></iframe>Espero que esto ayude a alguien que busca en la red, especialmente porque esta pregunta aparece primero en Google.
La solución mencionada por "lol" en realidad funciona bastante bien. Me topé con esto accidentalmente después de trabajar en esto durante un par de horas...
Coloque su iframe dentro de un elemento div, luego haga que el div sea transparente y empuje el índice z del iframe detrás del div. Mira este ejemplo:
<div class="container"> <iframe class="lockframe" src="www.google.com"></iframe> </div>Luego configure su css de esta manera:
div.container { background: transparent; } iframe.lockframe { z-index: -2; }Cargue su página y el div es lo que aceptará los eventos de clic, no el iframe.