在子窗口上绑定jQuery事件
Binding jQuery event on a child window
我有一个页面,有以下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好心地创建了一个关于这个问题的专栏: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!'); });
你应该可以走了
相关文章:
- 在创建对象后附加一个jquery事件
- 将jQuery事件应用于所有类元素
- Jquery事件处理程序仅适用于匿名函数
- 如何在jQuery事件处理程序中存储和重用超时
- 无线电输入更改的jQuery事件未启动
- 我应该/如何清除mousemove JQuery事件侦听器
- 是否可以在jQuery事件中更改Angular范围
- jQuery事件侦听器多次启动
- jQuery 事件处理程序堆叠
- 如何在不删除类似侦听器的情况下从父对象中删除jQuery事件侦听器
- 一个接一个地触发jQuery事件
- 在JQuery事件中查找父元素
- 堆叠jQuery事件(动画)
- 在jquery事件中引用javascript对象
- 动态添加对象的jQuery事件处理程序
- jQuery事件命名空间是否可以包含破折号
- Jquery事件绑定获胜'当作为方法调用时不起作用,但当直接在控制台中调用时会起作用
- 没有为Ajax添加的新元素注册Jquery事件
- 动态创建的DOM元素上的jQuery事件绑定
- jQuery事件未在动态生成的内容上激发