只有一个选择器中的document和iframe

时间:2010-08-25 01:41:24

标签: jquery iframe binding jquery-selectors

我目前正在注入iframe并将keyevent绑定到documentiframe

我可以同时选择iFrame和文档吗?
注意iframe必须在选择器

之后有.contents()
// wait for iframe to load
$('iframe#iframe').load(function() {

    // event bind to document
    $(document).bind('keydown', function(e) {
        console.log("runs document");
    });

    // event bind to iframe
    $(this).contents().bind('keydown', function(e) {
        console.log("runs iframe");
    });     

});

2 个答案:

答案 0 :(得分:3)

您可以使用.add(),如下所示:

$(this).contents().add(document).keydown(function(e) {
    console.log("runs in both");
});   

这会获取iframe内容,然后只在返回的jQuery对象上添加document,从而导致两者都拥有其keydown事件的处理程序。

答案 1 :(得分:1)

这个怎么样:

// wait for iframe to load
$('iframe#iframe').load(function() {

    // event bind to iframe
    $(this).contents().add(document).bind('keydown', function(e) {
        console.log("runs iframe and document");
    });     

});

请参阅http://api.jquery.com/add/