是有什么误会我在这里? 我经常使用这样的代码,我想工作,要么用于台式机和iPad设备在我的网站如下:
$("#someElement")
.on( "mousemove", function(e) {
alert ( "I am still here" );
// undesired code for ipad here
} )
.on( "touchmove", function(e) {
e.preventDefault();
// only desired code for ipad use here
} );
我读了很多地方的e.preventDefault应杀灭附着在鼠标事件。 而且,触摸事件阐述摆在首位。 然而,我现在认识到,警报仍是触发我的iPad。 为什么? 对任何提示? 提前致谢!
编辑:我意识到,当我把“touchstart”而不是“touchmove”的e.preventDefault()在预测方式工作。 来吧,伙计们,一些想法!
请与用户代理ipad.simply使用特雷纳里运营商更简单的代码
var isIPad = navigator.userAgent.match(/iPad/i) != null;
$("#someElement").on(((isIPad)? "touchmove" : "mousemove" ),
((isIPad)? gotoIpad : gotoOthers ));
function gotoIpad() {
alert("I am ipad");
}
function gotoOthers() {
alert("I am not ipad");
}
试试这个用户代理
var isTouch = /iPad/i.test(navigator.userAgent);
if(isTouch ){
$("#someElement").on( "touchmove", function(e) {
// only desired code for ipad use here
} );
}
else{
$("#someElement")
.on( "mousemove", function(e) {
alert ( "I am still here" );
// undesired code for ipad
});
}