我在我的网站中使用smoothdivscroll插件来显示缩略图功能。桌面浏览器中的一切都很好用,除了iPad浏览器(我还没有在iphone浏览器中测试过)。这是我的javascript代码:
$("div#thumbScrollable").smoothDivScroll({
hotSpotScrolling: false,
touchScrolling: true,
manualContinuousScrolling: true,
mousewheelScrolling: false,
//visibleHotSpotBackgrounds: "",
//hotSpotScrolling: false,
//visibleHotSpotBackgrounds: "",
//mousewheelScrollingStep: 45,
//mousewheelScrolling: "vertical",
//touchScrolling: true
scrollToAnimationDuration: 500,
setupComplete : function() {
}
});
在ipad中查看时,用户可以通过触摸和拖动/滑动手指进行滚动,效果很好。但是我在smoothdivscroll ITEM上附加了一个jquery click事件,但它没有被触发。我喜欢这个
$(document).on('click', "div#thumbScrollable .clickableitem", function(event) {
alert("SMOOTHDIVSCROLL ITEM IS CLICKED");
});
当我点击该项目时,不会显示警告框,这意味着不会触发该事件。我猜测TOUCH和CLICK事件之间存在冲突,这就是为什么jquery无法检测到它是否是一个click事件。以前有人有这个问题吗?
请指导我。
由于
答案 0 :(得分:0)
$( "div#thumbScrollable" ).bind("touchstart",function( event ) {
$("div#thumbScrollable").smoothDivScroll("enable");
});
$( "div#thumbScrollable" ).on('touchend',function( event ) {
$("div#thumbScrollable").smoothDivScroll("disable");
});
您必须在触摸滚动后禁用平滑滚动,并在触摸开始或触摸移动时启用。
答案 1 :(得分:0)
如何将处理程序分配给mousedown
和touchstart
?
$(document).on('mousedown touchstart', "div#thumbScrollable .clickableitem", function(event) {
alert("SMOOTHDIVSCROLL ITEM IS CLICKED");
});