1

所以我正在使用 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
})

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

截图安卓1 截图安卓2

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

截图安卓3

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

4

1 回答 1

2

originalEvent确实有其他属性(有关 touchstart 事件属性列表,请参阅 MDN 参考)。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
})
于 2016-01-15T08:33:42.160 回答