我有一個輸入文本框和兩個按鈕,一個「清除」和其他的「保存」,在XUL這樣實現的典型佈局:觀察輸入文本框
<textbox id="inputTextbox" placeholder="Enter here a new entry" value = ""
oninput="enableBtns(event);"/>
<button id="clearBtn" label="Clear" accesskey="C" disabled="true"
oncommand="clearField();"/>
<button id="saveBtn" label="Save" accesskey="S" disabled="true"
oncommand="saveEntry();"/>
我想這樣做:最初,按鈕被禁用。當我在文本框中放置一些文本時,這些按鈕變爲啓用狀態。如果我按他們中的一個,該文本將被清除或相應保存和按鈕被禁用一次。
我可以用「oninput」屬性輕鬆地完成這一功能,使用此代碼在我的JS:
enableBtns: function(event) {
document.getElementById("clearBtn").disabled = !document.getElementById("inputTextbox").value;
document.getElementById("saveBtn").disabled = !document.getElementById("inputTextbox").value; },
我現在的問題是如何實現的按鈕狀態相同的功能,無需使用「ininput」屬性,但使用觀察者。 所以,我怎麼註冊一個觀察者時的對話框窗格中的負載,以監測輸入條目的文本框,改變按鈕的狀態? (如果文本框不爲空)
我已閱讀MDN許多相關文章,但在所有情況下,他們都提到了觀察者用於監視擴展的偏好變化的情況和示例。我想動態地將觀察者用作文本框中變化的「傳感器」。我該怎麼做..??
任何信息,資源和示例代碼進行這項工作,將不勝感激!
謝謝
感謝您的回覆,但不幸的是這對我沒有幫助..雖然我知道關於jQuery的 ,但我還沒有「觸及」它。目前,我很有興趣通過 來實現我的目標,僅使用觀察者服務。如果有可能的話。 再次感謝您的幫助 – cicada