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

誰かが私が間違っていることを知っていますか? ちなみに私はChrome for Androidを使っています。

4

1 に答える 1

2

originalEventは他のプロパティがあります (タッチスタート イベントのプロパティ リストについては、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 に答える