3

jquery mobile で指定されている touchend (または、taphold イベント、どちらも発生しない) を使用しようとしています。phonegap プラットフォームを使用して Android 用のアプリを開発しています。私の AVD は Android 4.0.3 を実行しており、phonegap のバージョンは 1.3.0 です。

phonegapを使用しているので、javascriptでコーディングしています。目的は、次のコードで単語を長押しした後、ユーザーが選択したテキストを復元することです。

var selectAction = function(){
    LOGGER.log('event.js : selectAction');
};

function selectMobile(component){
    component.addEventListener('touchend',selectAction,false);
}

実際には問題なく動作します。比較的すばやくタップすると、イベントが発生し、ログ メッセージを取得できます。ただし、すばやくタッチしてもテキストは選択されません (選択したテキストを取得するコードは他にもありますが、これは問題ではありません)。

ユーザーが Android で長押しすると、デフォルトの「アクション メニュー」がポップアップし、これがそれ以上のイベントの起動をブロックしているようです。そのため、実際のテキストが選択されているときに selectAction に入ることはありません。

Androidプラットフォームのhtml/javascriptで選択したテキストを適切に取得する方法を知っている人はいますか?

どうもありがとうございました。

4

1 に答える 1

7

It's could be related to below bug. http://code.google.com/p/android/issues/detail?id=19827

try catch touchmove and call e.preventDefault()

于 2012-06-01T10:38:51.797 に答える