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 + '%'});
  });
4

1 に答える 1

0

jQueryのlive()バインディングを使用しているので、推測していますが、動作するにはjQueryUIタッチイベントプラグインに依存している可能性があります。http://touchpunch.furf.com/のプラグインを含めると、おそらく問題が解決します。

于 2012-05-24T18:10:29.780 に答える