调用两次timeupdate

时间:2013-10-22 07:06:05

标签: javascript jquery

有问题要调用两次timeupdate。 我的代码是:

$("video").on(
    "timeupdate",
    function(event){
        alert('work');
    }
);

它可以工作,但如果我这样做:

$('#video').html( $('#newVideo').html());

以前的代码不起作用。

我尝试下一步也行不通:

  1. <video id="video">

  2. `$(document).on(&#34; timeupdate&#34;,&#39; video&#39;,

    (文档)$ .delegate(&#39;视频&#39;,

    $(&#34;视频&#34)。结合(,

    $(&#34; video&#34;)。live(`

2 个答案:

答案 0 :(得分:1)

在层次结构上方的元素上调用.on(),以确保事件绑定适用于与选择器匹配的任何元素 - 无论该元素当前是否存在。

// this will work for all <video> elements within the document object
$(document).on("timeupdate", 'video', function(event){
    alert('work');
});
// if possible change 'document' to something that is
// closer up in the hierarchy to the video elements

答案 1 :(得分:0)

我的解决方案是:

function initPlayer () {
    var player = $(document).find('video')[0];
    if (player) {
        player.addEventListener('timeupdate', function () {
            alert('work');
        }, false)
    }
}

必须在更改之后和之前的呼叫功能之前再次查找视频标签。这样:

$( "#button" ).click(function() {  
    $('#video').html( $('#newVideo').html());
    initPlayer();
});