use*_*690 3 javascript mobile jquery html5
我的问题是我无法取消触发touchstart后触发的mousedown事件.此问题特定于Android的本机浏览器.
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();
}
Run Code Online (Sandbox Code Playgroud)
请有人告诉我如何取消手指触摸触发touchstart事件的屏幕后触发的mousedown事件.
此要求基于管理与桌面和移动/平板电脑平台的交互.在您使用Android本机浏览器进行测试之前,一切正常.
非常感谢
d
检查是否存在touchstart支持,设置变量以确定您提供的支持:
//touchstart or mousedown
var click = ('ontouchstart' in document.documentElement) ? 'touchstart' : 'mousedown';
Run Code Online (Sandbox Code Playgroud)
然后使用:
$(element).on(click,function(){
//do stuff
});
Run Code Online (Sandbox Code Playgroud)
请注意,click在此实例中是变量,而不是字符串.