触摸事件的问题

时间:2012-05-24 18:00:33

标签: jquery ipad

我试图在我的网站上使用播放器(我没有编码)。无论如何,玩家有一些内置的触摸事件,当我尝试使用ipad测试它们时似乎没有响应。音量滑块应该能够左右拖动,音乐流应该能够做同样的事情,但目前它们不能正常工作。

   // seeking in the loaded track buffer
  $('.sc-time-span')
    .live('click', function(event) {
      scrub(this, event.pageX);
      return false;
    })
    .live('touchstart', function(event) {
      this.addEventListener('touchmove', onTouchMove, false);
      event.originalEvent.preventDefault();
    })
    .live('touchend', function(event) {
      this.removeEventListener('touchmove', onTouchMove, false);
      event.originalEvent.preventDefault();
    });

  // changing volume in the player
  var startVolumeTracking = function(node, startEvent) {
    var $node = $(node),
        originX = $node.offset().left,
        originWidth = $node.width(),
        getVolume = function(x) {
          return Math.floor(((x - originX)/originWidth)*100);
        },
        update = function(event) {
          $doc.trigger({type: 'scPlayer:onVolumeChange', volume: getVolume(event.pageX)});
        };
    $node.bind('mousemove.sc-player', update);
    update(startEvent);
  };

  var stopVolumeTracking = function(node, event) {
    $(node).unbind('mousemove.sc-player');
  };

  $('.sc-volume-slider')
    .live('mousedown', function(event) {
      startVolumeTracking(this, event);
    })
    .live('mouseup', function(event) {
      stopVolumeTracking(this, event);
    });

  $doc.bind('scPlayer:onVolumeChange', function(event) {
    $('span.sc-volume-status').css({width: event.volume + '%'});
  });

1 个答案:

答案 0 :(得分:0)

我猜你自己正在使用jQuery的live()绑定,但它可能依赖于jQuery UI touch事件插件来工作。如果你包含http://touchpunch.furf.com/的插件,它可能会解决你的问题。