/* listen for the submit button press */
YAHOO.util.Event.addListener(webserver.result_form, 'submit', webserver.result_submit);
我的main.js
中有这个事件监听器。在YUI中是否有任何方法可以监听变量,因此当此变量发生更改时,事件就会发生。我想知道是否有类似的东西:
YAHOO.util."Variable".addListener(webserver.result_form, 'submit', webserver.result_submit);
答案 0 :(得分:0)
您无法直接将侦听器分配给javascript变量,但您可以通过以下方式间接执行此操作。
您可以在div或任何html节点中保存变量的值
e.g。
<div id="variable-name" style="display:none;">variable-value</div>
或
<span id="variable-name" style="display:none;">variable-value</span>
然后使用以下js来监视节点中的任何更改。 这将在YUI3或以上版本中使用。 (我不确定YUI2.x)
var Y = YUI().use('node', 'event', function (Y) {
// node and event modules are loaded.
});
var demo = Y.one('#variable-name');
// And we can listen for DOM events.
demo.on('change', function (e) {
alert('value changed');
});
有关侦听YUI节点的事件的更多信息
http://yuilibrary.com/yui/docs/event/#listening-for-events
和可用事件列表
http://yuilibrary.com/yui/docs/event/#event-whitelist
的修改
基于http://www.quirksmode.org/dom/events/change.html,
更改事件仅在其表单字段
时触发 e.g。 input
textarea
和select
因此当div的内容发生变化时,不会触发更改事件。