1
我有两个页面,比方说ParentPage.aspx和ChildPage.aspx。在ParentPage.aspx中我有一个hiddenField,我们称之为hidField1
。检测从子页面对父页面中隐藏字段所做的更改JQuery
<input type="hidden" name="hidField1" id="hidField1" value="0" runat="server" />
那么我打开ChildPage使用ParentPage.aspx中的以下函数。
function myFunc(){
var url = "ChildPage.aspx";
window.open(url,'_blank');
}
然后在父页面进行一些处理之后,hideField1
值会从0
我需要能够从ChildPage.aspx跟踪这1变化。目前我正在一个setInterval
功能与1000毫秒设置为内部$(document).ready(function() {...});
间隔以下是我迄今为止
setInterval(function() {
var hideField1= $("#hideField1", window.opener.document).val();
if (hideField1 == "1") {
console.log("change detected now reset from child!!!");
$("#hideField1", window.opener.document).val("0");
}
}, 1000);
可正常工作,我可以从子页面看时,有父页变化也可以从子页面更改父页面的隐藏字段值。但这意味着这个setInterval函数将每秒运行一次以检测这种变化。
我该如何做到这一点jQuery
而不必使用setInterval函数。任何帮助,非常感谢。
我提前道歉,如果我没有理解你的答案,但我看不到你的答案,我有这么远,直到该值在父改变,这也一次又一次地重复本身有什么区别页。我想要发生的事情是触发这个功能,当父页面中的隐藏字段发生变化,以防止子页面运行定时器来检测更改 –
@PissuPusa我的歉意。我已经更新了使用eventListeners的答案,因此我们将听取该输入中发生的更改。 – Perspective