在子窗口上绑定jQuery事件

时间:2011-12-17 22:38:17

标签: javascript jquery

我有一个包含以下javascript的页面:

var w = window.open("somePage.html", '', 'width=500, height=500');
$(w).bind('someEvent', function() { alert('I see the event!'); });

并在 somePage.html 上尝试触发事件:

$(window).trigger('someEvent', '');

事件不会触发(但是如果我在同一页面上执行事件绑定和触发,则会触发)。我尝试了各种各样的绑定变体,例如使用 this this.window

我是不是从绑定方面引用了正确的对象?

(我在Chrome和Firefox中对此进行测试)

修改

David Rodrigues非常友好地创建了这个问题的jsfiddle: http://jsfiddle.net/KARgF/& http://fiddle.jshell.net/vTQ9U/

1 个答案:

答案 0 :(得分:2)

我认为问题是$仍然引用主机窗口中的jquery。如果你这样做:

var w = window.open("somePage.html", '', 'width=500, height=500');
var $ = w.$;
$(w).bind('someEvent', function() { alert('I see the event!'); });
你应该好好去。