我在jquery中写了一个小卷轴。滚动条似乎在PC和Mac上完美运行。但它不适用于触摸设备。
我想这是因为调用了mousedown
属性。如何在PC和触摸屏设备上完成这项工作?
由于
$('.scroll-nav-up, .scroll-nav-down').live('click', function(){
$('.scroller-wrap').stop();
return false;
});
$('.scroll-nav-up').live('mousedown', function(){
$(this).closest('.item').find('.scroller-wrap').animate({
top: -($(this).closest('.item').find('.scroller-wrap').height() - 250)
}, 800);
});
$('.scroll-nav-down').live('mousedown', function(){
$(this).closest('.item').find('.scroller-wrap').animate({
top: 0
}, 800);
});
答案 0 :(得分:1)
如果您正在使用jquery mobile尝试处理其新活动tap
和taphold
http://jquerymobile.com/demos/1.0a2/#docs/api/events.html
我无法测试它,所以这只是一个想法(我不确定我是否理解你的应用程序的功能),但你可以尝试更改click to mouseup事件。
答案 1 :(得分:1)
没有特别的发现,所以此刻我正在使用2个脚本。第一个脚本标识了Alastair Campbell在Detecting touch-based browsing上编写的触摸屏设备。
function isTouchDevice() {
var el = document.createElement('div');
el.setAttribute('ongesturestart', 'return;');
if(typeof el.ongesturestart == "function"){
return true;
}else {
return false
}
}
然后将mousedown
事件用于常规浏览器,并将tap
事件用于触摸屏设备。
P.S - 同时使用jQuery和jQuery Mobile