/ / No se pueden desactivar los enlaces en iframe con jQuery - jquery, html, iframe, click

No se pueden deshabilitar los enlaces en iframe con jQuery - jquery, html, iframe, click

Quiero desactivar todos los enlaces dentro de un iFrame.

El iFrame es en realidad el marco de vista previa para el editor de texto markItUp. He intentado lo siguiente basado en otra respuesta de desbordamiento de pila, pero no funciona para mí:

$(".markItUpPreviewFrame a").live("click", function(e) {
e.preventDefault;
alert("You twat! This is a preview, where do you think you"re going?");
return false;
});

A continuación se muestra un esquema aproximado del HTML con el markItUp iframe:

<div id="markItUpMarkItUp" class="markItUp">
<div class="markItUpContainer">
<div class="markItUpHeader"></div>
<div class="clear"></div>
<textarea id="markItUp" class="markItUpEditor" name="bodyText""></textarea>
<div class="markItUpFooter"></div>
<iframe class="markItUpPreviewFrame">
<html>
<head></head>
<body>
links in here...
<body>
</html>
</iframe>
</div>

Cuando hago clic en el enlace, parece ignorar mi código jQuery (no recibo la alerta) y carga la página de todos modos.

Respuestas

0 para la respuesta № 1

Debe adjuntar el controlador de clic al documento en el iFrame, esta pregunta tiene una respuesta que muestra cómo hacerlo (la última respuesta)


0 para la respuesta № 2

Prueba esto:

   $(document).ready(function(){
//Make sure the iframe is done loading before you attach an event
$(".markItUpPreviewFrame").load(function(){
// Get the body element
var frameBody = $(".markItUpPreviewFrame").contents().find("body");

// Get all links inside the BODY tag
$("a", frameBody).click(function(e){
//Disable all default actions
e.preventDefault();
});
});
});