jQueryライブ()除去iPhoneタッチイベントの属性?
質問
私bindingライブイベントをリンクマ PhoneGap アプリです。イベントでは、成功した alert()
ング)うですが、どのタッチデータは付属しませんのイベントオブジェクトのように更する機能を提供できます。このすべてのタッチイベント- touchstart
, touchmove
, は、 touchend
.
$('a').live('touchend', function(event) {
event.preventDefault();
alert(event.touches.length); // event.touches should be populated!
});
そのアイデア?私ゾルとjQuery.live()?
解決
タッチイベントがないとして、現在サポートされる イベント/live.
からのドキュメンテーション
可能なイベント値:クリック dblclick,mousedown,mouseup, mousemove,mouseover,mouseout, keydown,打鍵,keyup
現在対応していない:ブラステムの開発を目的と mouseenter,mouseleave、変更、提出
も考えておいた方がよいでしょうを利用することにしたのだろうをクリックしまニーズに合わせて、切り替えることができる利用 livequery, るということになろう支援します。(livequeryどのライブはもともと、いかに対応しておりません、同じイベント)
他のヒント
実際には、あなたは.liveメソッドを使用することができます。 jQueryのは、内部でイベントを処理する方法をあなたは理由のevent.touchesプロパティがありません。イベント、jQueryのクローンイベントを「解決」するために。そうすることで、パフォーマンス上の理由から、プロパティの限られた数を超える、それだけコピーします。しかし、あなたはまだevent.originalEventプロパティを介して、元のイベントオブジェクトにアクセスすることができます。
だからあなたの例のコードは次のようになりする必要があります:
$('a').live('touchend', function(event) {
event.preventDefault();
console.log(event.originalEvent.touches.length);
});
ここにコピーされるプロパティは次のとおりです。のhttp:/ /github.com/jquery/jquery/blob/master/src/event.js#L411する