2017-01-09 12 views
2

jQueryを使用してイベントのイベント座標にアクセスする際に問題があります。私のコードは以下の通りです。音量スライダを変更すると、カーソル位置の代わりに未定義に戻ります。jQuery e.clientX returned undefined

$(document).ready(function(){ 
     // for new browsers 
    $("input#volume").bind('input', function(e){ 
     if (is_playing()) { 
      now_playing.volume = parseFloat((this.value/100)); 
      // set the tooltp for the current volume 
      var vol_tooltip = Math.floor((this.value/100)*100); 
      // $(".seek_timer").remove(); 
      console.log(e.clientX); 
      // $(".slider-wrap").append("<span class='seek_timer'>"+vol_tooltip+"</span>"); 
      // $(".seek_timer").css("left",e.clientX-15+"px"); 
     } 
    }); 
}); 

なぜe.clientXが未定義ですか?

+0

私が知る限り、入力はマウスイベントではないため、マウスの位置はありません。 –

答えて

0

あなたは座標が含まれていませんinputイベント、に結合している - の座標は、このようなclickmousedownmouseupイベントなどMouseEvent interfaceを使用したイベント、上でのみ存在しています。 clientXまたはclientYプロパティを使用してクライアントの位置座標を取得できるようにするには、これらのMouseEventタイプのいずれかを使用して目的の機能を実現するようにコードを再設計する必要があります。