Mousedown 事件与 ipad/iphone 的兼容性? - jQuery 移动
我用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);
});
I wrote a small scroller in jquery. The scroller seems to work perfectly on PC and Macs. However it doesn't work on touch devices.
I guess this is due to mousedown
property being called. how do I make this work on both PC and touch screen devices?
Thanks
$('.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);
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用的是 jquery mobile,请尝试处理其新事件
tap
和taphold
http://jquerymobile.com/demos/1.0a2/#docs/api/events.html
我无法测试它,所以这只是一个想法(我不确定我是否理解您的应用程序的作用),但您可以尝试将 click 更改为 mouseup 事件。
If you're using jquery mobile try handling its new events
tap
andtaphold
http://jquerymobile.com/demos/1.0a2/#docs/api/events.html
I can't test it, so it's just an idea (I'm not sure if I understand what your app does), but you can try and change click to mouseup event.
没有发现什么特别的,所以目前我正在使用 2 个脚本。第一个脚本识别触摸屏设备,由 Alastair Campbell 在 Detecting touch-基于浏览。
然后对于常规浏览器使用
mousedown
事件,对于触摸屏设备使用tap
事件。PS - 同时使用 jQuery 和 jQuery Mobile
Nothing special found, so at this moment I am using 2 scripts. The first script identifies the the touch screen devices as written by Alastair Campbell on Detecting touch-based browsing.
and then use the
mousedown
event for regular browsers and usetap
event for touch screen devices.P.S - Using both jQuery and jQuery Mobile