我有一个输入文本框和两个按钮,一个“清除”和其他的“保存”,在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