这就是我的所作所为:
var scrolling;
$('#nw_scroll_down').on('mousedown', function(){
scrolling = setInterval(function() {
$('.mod_article').scrollTop( $('.mod_article').scrollTop() + 5 );
},25);
});
$('#nw_scroll_down').on('mouseup', function(){
if (scrolling) {
window.clearInterval(scrolling);
scrolling = false;
}
});
在$(文档).ready(function(){});
中一切正常直到行
window.clearInterval(scrolling);
这在PC上运行良好但在iPad上运行不正常。谁能想象为什么它在ipad(Chrome浏览器)上无效呢?
答案 0 :(得分:4)
而不是mousedown
,您应该使用Apple documentation或Mozilla documentation中详述的适用于iPad的touchstart
和touchend
个事件。
试试这个:
$('#nw_scroll_down').bind( "touchstart", function(e){
scrolling = setInterval(function() {
$('.mod_article').scrollTop( $('.mod_article').scrollTop() + 5 );
},25);
});
$('#nw_scroll_down').bind('touchend', function(){
if (scrolling) {
window.clearInterval(scrolling);
scrolling = false;
}
});
为了使它在台式机和触摸设备上都能正常工作,您可以试试这个:
$('#nw_scroll_down').on("mousedown touchstart", function(e){
<小时/> 另一个解决方案given by Apple documentation似乎是将内联事件
onclick="void(0)"
添加到您拥有mousedown
事件的元素。
可点击元素是链接,表单元素,图像映射区域或具有mousemove,mousedown,mouseup或onclick处理程序的任何其他元素。可滚动元素是具有适当溢出样式,文本区域和可滚动iframe元素的任何元素。由于存在这些差异,您可能需要将某些元素更改为可单击元素,如“Making Elements Clickable,”中所述,以在iPhone OS中获得所需的行为。