gpt4 book ai didi

javascript - JQuery click 函数只工作一次,但需要多次工作

转载 作者:太空宇宙 更新时间:2023-11-04 03:17:53 24 4
gpt4 key购买 nike

我有一个功能,可以删除另一个中的一个 div,并在单击链接时用视频替换它(位于被删除的 div 中)。

当视频结束时,视频被删除,被删除的 div 被放回到 div 中。

问题是,如果我再次点击链接,没有任何反应。

有什么想法吗?

JQuery 代码

$('#panl-one a#watch-now').click(function(){
var copy = $('#panl-one').html();
$('#panl-one').html('<video width="334" height="200" controls muted autoplay title="Video" id="myvideo"><source src="My Movie.mp4"></video>');
var video= $('#myvideo')[0];
var videoJ= $('#myvideo');
videoJ.on('ended',function(){
$('#myvideo').hide();
$('#panl-one').html('<div><p><a href="#" id="watch-now">Watch again?</a></p></div>');
});
return false;
});

HTML代码

<div class="video" id="panl-one" title="this is the panel title">
<div>
<a href="#" class="get-link-name" id="link-one">This is the video title</a>
<p>Video
<a href="#" id="watch-now">watch now</a>
04:09
</p>
</div>
</div>

提前致谢

最佳答案

事件委托(delegate)。

更改以下行:

$('#panl-one a#watch-now')

$('body').on('click', '#panl-one a#watch-now', function(){

这会将点击从该元素委托(delegate)给正文,无论它是否已在 DOM 中被删除或替换。

注意 为了获得更好的性能,请将其绑定(bind)到最近的静态父元素,而不是主体。

关于javascript - JQuery click 函数只工作一次,但需要多次工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28397464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com