Javascript 绑定到动态创建的iframe中的事件

Javascript 绑定到动态创建的iframe中的事件,javascript,iframe,jquery,Javascript,Iframe,Jquery,我需要绑定到iframe中的事件(例如,在用户执行特定操作后动态创建的iframe中单击任意的)。附加iframe的代码和iframe内部的代码不是我的,我无法以任何方式更改它(这是CMS管理面板) 如何使用jQuery1.6收听事件(同样,这不是我的选择,我一直在坚持)。我想,delegate()可能就是我想要的: $('body').delegate('iframe input', 'click', function(e) { alert('bingo?'); }); 但当单击输入

我需要绑定到iframe中的事件(例如,在用户执行特定操作后动态创建的iframe中单击任意的
)。附加iframe的代码和iframe内部的代码不是我的,我无法以任何方式更改它(这是CMS管理面板)

如何使用jQuery1.6收听事件(同样,这不是我的选择,我一直在坚持)。我想,
delegate()
可能就是我想要的:

$('body').delegate('iframe input', 'click', function(e) {
    alert('bingo?');
});
但当单击输入时,上面的内容不会发出警报。但是,以下各项按预期工作:

$('body').delegate('input', 'click', function(e) {
    alert('bingo?');
});
但这超出了iframe的范围

显然,
iframe
src
指向同一个域


非常感谢您的任何帮助或正确的提示。

'iframe input'
不会选择
iframe
中的
input
元素

您可以像这样绑定事件

$('body iframe').contents().find('input').bind('click',function(e) {
    alert('bingo?');
 });
我想你也可以用

$('body iframe').contents().find('body').delegate('input','click',function(e) {
    alert('bingo?');
 });
要检测iframe是否已完全加载,请使用此答案中描述的方法

在主/父文档中添加:

function iframeLoaded() {
    $('body iframe').contents().find('input').bind('click',function(e) {
        alert('bingo?');
     });
}
window.onload = function() {
    parent.iframeLoaded();
}
在iframe文档中添加:

function iframeLoaded() {
    $('body iframe').contents().find('input').bind('click',function(e) {
        alert('bingo?');
     });
}
window.onload = function() {
    parent.iframeLoaded();
}
或使用

$('body iframe').load(function(){
     $('body iframe').contents().find('input').bind('click',function(e) {
            alert('bingo?');
         });
});

是的,但是
on()
是在1.7中引入的。我如何在1.6中做到这一点?更新的代码,如果您没有将输入元素动态添加到iframe中,应该可以工作。谢谢。如何确保在iframe完全加载后运行上述
$(“body iframe”).contents()
?或者我不需要确认一下吗?再次谢谢。似乎不起作用,但我不确定确切的原因。我仍在调查中。我认为这是可行的,但要找出为什么在我的案例中不起作用是非常乏味的。我采取了完全不同的方法来解决这个问题。非常感谢@Joy