我一直在做自定义事件的研究(谷歌),但我似乎找不到我的问题的答案。
我的问题如下:在this example中,我div
内有div
我正在滑动,并希望制作一个自定义事件,附加到所有小孩div
所以当孩子div
的偏移量达到一定范围时,div
上的自定义监听器就会执行。
所以真正的问题是:我能够在与onchange
,click
,onmouseup
等相同的级别上制作真正的自定义事件监听器。这将听取我的意思希望他们听吗?
答案 0 :(得分:1)
我看到你正在使用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");
答案 1 :(得分:0)
是的,你可以制作真正的自定义事件,就像onchange一样点击onmouseup等,但是你必须根据现有的事件或方法自己编写监听器代码。
在这种情况下,您需要检查移动事件中的偏移值,当它达到该目标值时,触发自定义事件。