如果有人能帮我弄清楚为什么我在 MooTools 中使用事件委托(来自Element.Delegation
课堂)时无法以编程方式触发事件,我将不胜感激。
有一个父级在某些子元素上<div>
有一个change
监听器。<input>
当用户操作触发更改事件时,父 div 上的处理程序被触发,但是当我fireEvent
在任何子输入上以编程方式触发它时,什么也没有发生。基本设置是:
html
<div id="listener">
<input type="text" id="color" class="color" />
</div>
js
$("listener").addEvent("change:relay(.color)", function() {
alert("changed!!");
});
$("color").fireEvent("change"); // nothing happens
不会调用父 div 上的事件处理程序。任何帮助表示赞赏。
fireEvent
相关问题:在 DOM 树中是否触发了冒泡事件?我目前的黑客是在本地调度正在工作的事件(但仍然是黑客)-http: //jsfiddle.net/SZZ3Z/1/
var event = document.createEvent("HTMLEvents")
event.initEvent("change", true);
document.getElementById("color").dispatchEvent(event); // instead of fireEvent