我对自定义事件做了很多研究(Google),但似乎无法找到我的问题的答案。了解JavaScript自定义事件监听器
我的问题是:在this example,我有div
个div
我滑动内,想使附加到所有子div
的自定义事件是如此,每当孩子div
的偏移左边会到达一定范围内的div
将执行的自定义侦听器。
所以,真正的问题是:我是我能够使在同一水平上真正的自定义事件监听onchange
,click
,onmouseup
等。其中会听什么,我希望他们听?
我对自定义事件做了很多研究(Google),但似乎无法找到我的问题的答案。了解JavaScript自定义事件监听器
我的问题是:在this example,我有div
个div
我滑动内,想使附加到所有子div
的自定义事件是如此,每当孩子div
的偏移左边会到达一定范围内的div
将执行的自定义侦听器。
所以,真正的问题是:我是我能够使在同一水平上真正的自定义事件监听onchange
,click
,onmouseup
等。其中会听什么,我希望他们听?
我看到你正在使用jQuery。用jQuery定义自定义事件非常简单。我用一个模式是这样的:
// Constructor
function Colorbar() {
this.events = $({});
// (Whatever else is in the class)
}
colorbar = new Colorbar();
然后,您可以监听任何名称的一个事件:
colorbar.events.on("currentcolorchanged", function(e, cb, ncolor) {
helper.doColorChanged(ncolor);
});
和触发它:
this.events.triggerHandler("currentcolorchanged", [this, ncolor]);
如果您正在使用DOM对象工作,只是缓存DOM对象的jQuery:
var $ele = $("#myElement");
$ele.on("myCustomEvent", function(e) {
// Event handler
});
$ele.triggerHandler("myCustomEvent");
您的示例看起来像我必须手动触发事件。我试图建立的是一个事件监听器,当我附加它的对象满足我指定的条件时,会自动触发一个函数。就像当鼠标移过它所附着的物体时,onmousemove会发生火灾。 – zero
@zero即使使用我的解决方案,您也必须手动触发事件。 –
@零,所有事件手动触发。鼠标事件触发是因为当鼠标执行某些操作时,浏览器会手动触发它们。 –
“自定义事件”意味着您*手动*触发一个事件 - 您不能仅仅指定一个条件来触发遇到的事件。 – Bergi
是的我想说自定义事件监听器 – zero
是的,你只是注册自定义事件的监听器。只有在事件没有被触发的情况下,它们才会无用...... – Bergi