2017-04-24 13 views
-5

シンプルなページをサポートし、高速転送を防ぐためにしようとしていない:jQueryのaddEventListenerをHTML5ビデオを

私_layoutページで
var vid = $("#divVideo"); 
    var suptime = 0; 
    vid.addEventListener('timeupdate', function(){ 
     if (!vid.seeking){ 
      suptime = vid.currentTime; 
     } 
    }); 
    vid.addEventListener('seeking', function(){ 
     var delta = vid.currentTime - suptime; 
     if (Math.abs(delta) > 0.01) { 
      vid.currentTime = suptime; 
     } 
    }); 

私が持っている:

<!DOCTYPE html> 
    <html lang="en"> 
<head> 
<meta charset="utf-8" /> 
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
<meta name="viewport" content="width=device-width" /> 
<meta http-equiv="X-UA-Compatible" content="IE=edge;" /> 

だから私は、私が探して発見したすべてのものを使用していますが、それでも私にはエラーが出る。私はjQuery 3.1.1を使用しています。

+0

** jQuery **または 'document.getElementById( 'divVideo).addEventListener'の' on() 'を使用してください。 – Tushar

+0

エラーとは何ですか? – zer00ne

+0

JqueryはJavaScriptではなく、JavaScriptで構築された一連のツールです。ネイティブJavaScript APIをjqueryオブジェクトとともに使用することはできません(そこから生のノードを選択することはありません)。 jQueryの使い方やネイティブAPIの使い方ミックスとマッチングは、痛みや涙のレシピです。 – ste2425

答えて

1

あなたは、あなたが直接要素のプロパティにアクセスしたい場合、だから、Javascriptのバージョンが優れている(これらのプロパティにアクセスするために[0]を使用する必要がcurrentTimeあなたはjQueryの、

を使用していて、seekingを取得する場合on()を使用する必要があると。)

のjQueryなし
var vid = $("#divVideo"); 
var suptime = 0; 
vid.on('timeupdate', function(){ 
    if (!vid[0].seeking){ // to get seeking use [0], when using jquery object 
     suptime = vid[0].currentTime; 
    } 
}).on('seeking', function(){ // chaining is better to use here 
    var delta = vid[0].currentTime - suptime; 
    if (Math.abs(delta) > 0.01) { 
     vid[0].currentTime = suptime; 
    } 
}); 

、あなたのようなgetElementById()を使用しよう、その後addEventListenerを使用したい場合は、

var vid = document.getElementById("divVideo"); 
var suptime = 0; 
vid.addEventListener('timeupdate', function(){ 
    if (!vid.seeking){ // directly seeking and currentTime are accessible 
     suptime = vid.currentTime; 
    } 
}); 
vid.addEventListener('seeking', function(){ 
    var delta = vid.currentTime - suptime; 
    if (Math.abs(delta) > 0.01) { 
     vid.currentTime = suptime; 
    } 
});