假设一个文本字段和一个按钮,在单击按钮后弹出一个包含显示的表的窗口,用户通过单击一行来设置文本字段的值并关闭弹出窗口。
问题: 在主窗口中没有触发更改事件,我尝试在弹出窗口中设置文本后通过JQuery触发此事件但在主窗口中此事件未被触发:
$('#' + "{{ target_input }}" + '-text', window.opener.document).val(name);
$('#' + "{{ target_input }}" + '-text', window.opener.document).trigger('change');
答案 0 :(得分:3)
我可以使用以下代码解决类似的问题:
window.opener.$(<selector of element>).trigger('change');
我不确定为什么触发事件的方式与设置值的工作方式不同。
答案 1 :(得分:0)
使用 setInterval 函数解决了此问题。
setInterval(check, 500);