我想禁用iFrame中的所有链接。
iFrame实际上是markItUp文本编辑器的预览框架。我已根据另一个Stack Overflow答案尝试了以下内容,但它对我不起作用:
$(".markItUpPreviewFrame a").live('click', function(e) {
e.preventDefault;
alert("You twat! This is a preview, where do you think you're going?");
return false;
});
以下是使用markItUp
iframe的HTML的大致轮廓:
<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>
当我点击链接时,它似乎忽略了我的jQuery代码(我没有得到警报)并且无论如何加载页面。
答案 0 :(得分:0)
您需要将点击处理程序附加到iFrame中的文档,this question有一个答案显示如何执行此操作(最后一个答案)
答案 1 :(得分:0)
试试这个:
$(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();
});
});
});