SmoothDivScroll可点击项目

时间:2014-06-13 13:09:32

标签: jquery ipad click touch

我在我的网站中使用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事件。以前有人有这个问题吗?

请指导我。

由于

2 个答案:

答案 0 :(得分:0)

$( "div#thumbScrollable" ).bind("touchstart",function( event ) {
    $("div#thumbScrollable").smoothDivScroll("enable");
    });
    $( "div#thumbScrollable" ).on('touchend',function( event ) {
    $("div#thumbScrollable").smoothDivScroll("disable");
    });

您必须在触摸滚动后禁用平滑滚动,并在触摸开始或触摸移动时启用。

答案 1 :(得分:0)

如何将处理程序分配给mousedowntouchstart

$(document).on('mousedown touchstart', "div#thumbScrollable .clickableitem", function(event) { 
    alert("SMOOTHDIVSCROLL ITEM IS CLICKED");
});