0

我一直在对自定义事件进行大量研究(谷歌),但我似乎找不到我的问题的答案。

我的问题如下:在这个例子中,我有div一个我正在滑动的 s 内部,div并且想要制作一个附加到所有孩子div的自定义事件,所以每当孩子div的左偏移量达到一定范围时,自定义监听器div将执行。

所以真正的问题是:我能够在 , 等相同级别上制作真正的自定义事件监听onchangeclickonmouseup哪个会监听我希望他们监听的内容?

4

2 回答 2

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");
于 2012-10-11T15:31:22.023 回答
0

是的,您可以制作真正的自定义事件,如 onchange click onmouseup 等,但是您必须根据现有事件或方法自己编写侦听器代码。

在这种情况下,您需要检查移动事件中的偏移值,当它达到该目标值时,触发自定义事件。

于 2012-10-11T15:32:30.920 回答