Backbone.js アプリで奇妙な問題が発生しています。私のメイン ビューでは、ビューで発生するすべての入力イベントをキャプチャし、それらを入力ハンドラー メソッドにルーティングしたいと考えています。ビューには、アプリの他の部分に移動するためのリンクもいくつかあります。関連する (CoffeeScript) コード:
events:
'click a.quit': 'quit'
'mousedown': 'onActionStart'
'mouseup': 'onActionEnd'
'touchstart': 'onActionStart'
'touchmove': 'onActionMove'
'touchend': 'onActionEnd'
イベント処理は、デスクトップ Safari で期待どおりに機能します。「quit」リンクをクリックすると、「onAction_ _」メソッドが起動し、「quit」メソッドが呼び出されます。ただし、Mobile Safari では、「quit」メソッドは呼び出されません。タッチ イベント セレクターを変更して、ビュー内の小さな領域 (つまり、リンクと重なっていない要素) にのみ応答するようにすると、期待どおりに機能します。(ユーザー入力によってトリガーされるすべてのメソッドには preventDefault() 呼び出しが含まれていますが、それによってイベントのバブリングが停止することはありません。) これは Mobile Safari の既知の問題ですか?