在子窗口上绑定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中对此进行测试)
编辑:
大卫罗德里格斯很友好地创造了这个问题的一个小问题: http : //jsfiddle.net/KARgF/&http ://fiddle.jshell.net/vTQ9U/
我认为问题是$
仍然引用主机窗口中的jquery。 如果你这样做:
var w = window.open("somePage.html", '', 'width=500, height=500'); var $ = w.$; $(w).bind('someEvent', function() { alert('I see the event!'); });
你应该好好去。