我一直试图了解在各种浏览器/各种设备上如何触发不同的指针事件(触摸,鼠标).为此,我写了一个小网页来测试活动http://tstr.29pixels.net.
几个星期后,我在http://mozilla.github.io/mozhacks/touch-events/event-listener.html上遇到了Mozilla的事件监听器测试页面,这产生了一个非常不同的结果(我看到事件被解雇了在我原来的测试工具中显示.
两个网站都使用不同风格的绑定事件,所以我很想知道,绑定这些事件的区别在哪里?
例如,使用Chrome购买平板电脑/智能手机,然后点击我网络上的按钮.在大多数情况下,会触发两个事件 - touchstart和touchend(偶尔触摸移动).然后尝试使用Mozilla的工具.还有更多(甚至包括点击).
我的约束力:
$("#button").on('mouseenter mouseleave ... mousemove click', function(e){
...
}
Run Code Online (Sandbox Code Playgroud)
Mozilla绑定:
var events = ['MSPointerDown', 'MSPointerUp', ... , 'MSPointerCancel'];
var b = document.getElementById('button');
for (var i=0; i<events.length; i++) {
b.addEventListener(events[i], report, false);
}
Run Code Online (Sandbox Code Playgroud)
这些只是最重要的部分,完整的JavaScript代码写在两个网站的索引页面(它不长).
如果有人能为我带来一些亮点,我会非常感激.