2012-05-24 60 views
0

我试图在我的网站上使用播放器(我没有编码)。无论如何,玩家在触控事件中并没有触动事件,当我尝试使用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 + '%'}); 
    }); 

回答

0

我猜测,因为你正在使用jQuery的生活()具有约束力,但可以依靠jQuery UI的触摸事件插件工作。如果您包含http://touchpunch.furf.com/的插件,它可能会解决您的问题。