2012-06-29 69 views
0
/* listen for the submit button press */ 

YAHOO.util.Event.addListener(webserver.result_form, 'submit', webserver.result_submit); 

我在我的main.js中有此事件監聽器。在YUI中是否有任何方法,這樣我可以監聽一個變量,所以當這個變量改變事件發生時。我在想,如果有這樣的:YUI事件監聽器用於變量的更改

YAHOO.util."Variable".addListener(webserver.result_form, 'submit', webserver.result_submit); 

回答

0

你不能直接指定監聽器的JavaScript變量,但您可以按以下方式間接地做到這一點。

可以保存在一個div或任何HTML節點

例如一個變量的值

<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/#event-whitelist

事件

http://yuilibrary.com/yui/docs/event/#listening-for-events

和列表


編輯


基於http://www.quirksmode.org/dom/events/change.html

變化事件只觸發如果表單字段

例如inputtextareaselect

所以當div的內容被改變時更改事件不會觸發。

+0

謝謝你,這就是我正在尋找。 –

+0

你可以標記我的答案作爲答案,並upvote,如果它的有用嗎?謝謝。 – N30

+0

我們做了下面的代碼,但它仍然不工作它缺少什麼? http://stackoverflow.com/questions/11268382/yui-modifying-and-detecting-changes-of-a-div –