我想我已经找到了解决过去几天我所面临的问题的解决方案,但我不知道为什么我会理解为什么。
我在父窗口中有一个<input>
字段,然后是操作它的<iframe>
字段。输入字段有change
个事件的监听器,但由于它是hidden
输入,我必须手动触发.change()
事件来调用监听器。 iframe脚本是这样的( .change()
触发器实际上被链接到第一行,但为了说明我的问题,我将其分为两行)... < / p>
$('#input_field',window.parent.document).val('somevalue');
$('#input_field',window.parent.document).change();
第一行成功更新了<input>
字段的值。第二行不会触发change
事件,因此我的侦听器永远不会被调用。这毫无意义。我终于改变了我在输入字段上调用父窗口更改为以下方式...
parent.$('#input_field').change();
现在成功调用了侦听器。
我的问题是为什么使用选择器上下文的第一个示例不起作用,而第二个方法,从parent
链接,是否有效?
编辑:我应该补充一下,这是jQuery v1.11.3