touchstart 上没有原始事件

No original event on touchstart

所以我正在使用 JQuery (1.11.3),但我一直被困在网上找不到任何东西的东西上。

基本上,我将处理程序绑定到 'touchstart' 事件,并希望检索触摸事件的位置。 (注意:我也尝试过 $('#id').on('touchstart'...

$(document).bind('touchstart','#main-button', function( e ){
    alert(Object.keys(e).join('\n'));
    alert(Object.keys(e.originalEvent).join('\n'));
    // awesome code here
})

这是我从第一个警报中得到的信息:

问题是 originalEvent(应该有我正在寻找的信息)只有 属性 isTrusted.

有谁知道我做错了什么?顺便说一句,我正在使用 Chrome 作为 Android。

originalEvent 确实有其他属性(参见 MDN reference for touchstart event property list)。 Object.keys 只是不归还它们。这是因为属性不是可枚举的,或者它们是在原型链的某处定义的。

相反,您可以使用 for...in 循环来获取对象和原型链中的任何可枚举属性。

$(document).bind('touchstart','#main-button', function( e ){
    alert(Object.keys(e).join('\n'));
    var keys = "";
    for(key in e.originalEvent){
       keys+=key+"\n";
    }
    alert(keys);
    // awesome code here
})