我的問題是我無法取消在touchstart觸發後觸發的mousedown事件。這個問題是特定於Android的本機瀏覽器的。jQuery.on「touchstart mousedown」 - 這兩個事件在觸摸屏設備上觸發
Chrome和Safari都在Android和iOS(onMenuInteraction)中都成功執行了我的方法。我的問題似乎侷限於Android的本地瀏覽器(對於預裝了Android 4.1.2的我)。
以下是我從Javascript對象中提取的代碼。
MenuButtonView.prototype.onSmallScreenSetUp = function() {
$("#mobileMenuBtn").on({ "touchstart mousedown": $.proxy(this.onMenuInteraction, this) });
}
MenuButtonView.prototype.onMenuInteraction = function(e) {
console.log(this, "onMenuInteraction", e);
e.stopImmediatePropagation();
e.stopPropagation();
e.preventDefault();
}
請能有人告訴我,我怎麼能取消你的手指觸摸屏幕觸發touchstart事件後,多數民衆贊成開除鼠標按下事件。
此要求基於管理與臺式機和移動/平板電腦平臺的交互。一切正常,直到您使用Android本地瀏覽器進行測試。
非常感謝
d
Re#1通常情況並非如此,設備可以同時擁有觸摸屏和鼠標設備。例如,Chromebook或Windows觸摸屏平板電腦/筆記本電腦。如果這是一個Android應用程序(例如嵌入在Phonegap/Cordova中),那麼您可以假設只需觸摸事件並完全跳過鼠標。如果這是一個網頁,你不能假設,因爲它可以在幾個不同的瀏覽器,包括桌面訪問。試試這個:http://stackoverflow.com/questions/13655919/how-to-bind-both-mousedown-and-touchstart-but-not-respond-to-both-android-jqu – 2014-08-27 22:24:26
他特指Android,我回答他的android問題;)我同意,根據給定的環境,你可能需要以不同的方式做事。 – JDA 2014-08-28 12:35:44