Jquery并将事件绑定到iframe

时间:2010-03-26 21:02:49

标签: javascript jquery

**我目前正在使用jquery textselect插件根据页面上任意位置的选择文本触发警报 并且它可以很好地执行以下操作:

$(document).ready(function() {
    $(document).bind('textselect', function(e) {
        alert(e.text); 
    });
});

我必须在页面中添加iframe,我需要选择文本来处理文本中的文本 iframe也是。我正在尝试做类似这样的事情,但它不起作用:

$(document).ready(function() {
    $('#iframeId').load(function() {
    $(document.getElementById("iframeId").contentWindow).bind('textselect',function(e) {
    alert(e.text); 
    });
});

此时我尝试了很多方法来引用iframe文档而没有任何成功。有什么想法吗?**

2 个答案:

答案 0 :(得分:5)

你可以像这样访问它:

$(document).ready(function() {
  $('#iframeId').load(function() {
    alert("Loaded");
    $('#iframeId').contents().find("body").bind('textselect', function(e) {
      alert(e.text);
    });
  });
});

注意:这仅适用于iframe在同一域中加载某些内容的情况,否则您将被同一源策略阻止。

答案 1 :(得分:0)

这是我最终做的仅供参考...你发送的是什么。原始函数传入文档对象。对于iframe文档对象,我做了类似的事情:

window.frames["ifFrameName"].document