मैं सोच रहा था प्रोग्राम रूप YUI3 के साथ एक परिवर्तन घटना आग - मैं एक सलेक्ट बॉक्स नोड के लिए एक परिवर्तन श्रोता कहा:YUI 3 प्रोग्राम के रूप में आग परिवर्तन घटना
Y.get('#mynode').on('change', function(e) {
Alert(“changed me”);
});
और कहीं और लिपि में सक्रिय करना चाहते हैं वह घटना यह निश्चित रूप से काम करता है, जब कोई उपयोगकर्ता ब्राउज़र में चयन बॉक्स मान बदलता है। लेकिन मैंने इसे प्रोग्रामेटिक रूप से आग लगाने के कई तरीकों की कोशिश की है, जिनमें से कोई भी काम नहीं कर पाया है। सहित:
// All below give this error: T[X] is not a function (referring to what's called in .invoke(), // in the minified javascript
Y.get('#mynode').invoke('onchange');
Y.get('#mynode').invoke('change');
Y.get('#mynode').invoke('on','change');
Y.get('#mynode').invoke("on('change')");
/* Tried using .fire() which I found here:
* http://developer.yahoo.com/yui/3/api/EventTarget.html#method_fire
* Nothing happens
*/
Y.get('#mynode').fire('change');
/* Looking around the APIs some more, I found node-event-simulate.js:
* http://developer.yahoo.com/yui/3/api/node-event-simulate.js.html,
* which by its name would seem to have what I want. I tried:
* Error: simulate(): Event 'change' can't be simulated.
* ((function(){var I={},B=new Date().getTim...if(B.isObject(G)){if(B.isArray(G)){E=1;\n)
*/
Y.get('#mynode').simulate('change');
किसी भी मदद की सराहना की होगी!
बस एक नोट: आपको उपलब्ध होने के लिए .simulate() के लिए y.use ('node-event-simulate', ...) होना चाहिए। – thenickdude