我为 jQuery 编写了一系列插件,它们基本上充当移动浏览器的事件。您可以在此处查看它们 > http://ben-major.co.uk/2011/11/jquery-mobile-events/。
目前,它们被调用$(ele).tap(handler)
等等,但我想添加功能来触发自定义事件,以便可以使用类似$(ele).on('tap', handler);
.
我现在正在使用以下代码,但这似乎不起作用:
$(function() {
$('*').tapstart(function() { $(this).trigger('tapstart'); })
.tapend(function() { $(this).trigger('tapend'); })
.tap(function() { $(this).trigger('tap'); })
.doubletap(function() { $(this).trigger('doubletap'); })
.taphold(function() { $(this).trigger('taphold'); })
.swipedown(function() { $(this).trigger('swipedown'); })
.swipeup(function() { $(this).trigger('swipeup'); })
.swipeleft(function() { $(this).trigger('swipeleft'); })
.swiperight(function() { $(this).trigger('swiperight'); });
});
这是一个jsFiddle来演示我的问题。显然,单击第二个div
应该模仿第一个的动作,但是由于它是在解析上面给出的绑定之后添加到 DOM 中的,所以它没有。
我想我的问题是:实现我想要的最好的方法是什么?有没有办法选择现在和将来存在于 DOM 中的所有元素(如果可能,我宁愿不使用livequery或外部插件之类的东西)。