わかりました、これは興味深いです。私の使用例はA
、WebKit ビューの画面に一連のリンク (タグ) があることです。jQuery 1.3.1 を使用して、利用可能なイベント領域をテストするために、このページにリストされているすべてのイベント(意味をなさないものも含む) をリンクに添付し、Android エミュレーターで上、下、および入力のコントロールを使用してメモしました。どのイベントがどの状況で発生したか。
イベントを添付するために使用したコードを次に示します。結果は次のとおりです。A
私のアプリケーションでは、タグが動的に挿入されるため、「ライブ」イベントバインディングを使用していることに注意してください。
$.each([
'blur',
'change',
'click',
'contextmenu',
'copy',
'cut',
'dblclick',
'error',
'focus',
'keydown',
'keypress',
'keyup',
'mousedown',
'mousemove',
'mouseout',
'mouseover',
'mouseup',
'mousewheel',
'paste',
'reset',
'resize',
'scroll',
'select',
'submit',
// W3C events
'DOMActivate',
'DOMAttrModified',
'DOMCharacterDataModified',
'DOMFocusIn',
'DOMFocusOut',
'DOMMouseScroll',
'DOMNodeInserted',
'DOMNodeRemoved',
'DOMSubtreeModified',
'textInput',
// Microsoft events
'activate',
'beforecopy',
'beforecut',
'beforepaste',
'deactivate',
'focusin',
'focusout',
'hashchange',
'mouseenter',
'mouseleave'
], function () {
$('a').live(this, function (evt) {
alert(evt.type);
});
});
それがどのように揺れたかは次のとおりです。
何も強調表示されていない (項目の周りに醜いオレンジ色の選択ボックスがない) 最初のページの読み込みで、下ボタンを使用して最初の項目を選択すると、次のイベントが (順番に) 発生しました: mouseover
、mouseenter
、mousemove
、DOMFocusIn
項目を選択し、下ボタンを使用して次の項目に移動すると、次のイベントが (順番に) 発生しました: mouseout
、mouseover
、mousemove
、DOMFocusOut
、DOMFocusIn
項目を選択して「Enter」ボタンをクリックすると、次のイベントが (順番に) 発生しました: mousemove
、mousedown
、DOMFocusOut
、mouseup
、click
、DOMActivate
これは、ランダムなゴミの束のように私を襲います。そして、その生意気な IE のみのイベント ( mouseenter
) にカメオ出演し、残りの 1 日を休んでいるのは誰ですか? ああ、少なくともこれで、どのイベントを監視すべきかがわかりました。
他の人が私のテスト コードを取得して、おそらくフォーム要素や画像などを使用して、より徹底的に実行したいと思うなら、それは素晴らしいことです.