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