我有以下代码(coffeescript),我有rails创建订阅视频列表,我希望弹出窗口只能在我悬停的那个上弹出。但是因为列表中的每个视频都有类订阅视频,无论我将其悬停在哪个视频上,它只会显示第一个视频的弹出窗口。有什么是javascript定义的最佳方法,我正在寻找当前所选的(我正在悬停的)订阅视频类中的弹出窗口ID?
$(document).ready ->
$('.subscription-video').hover (->
$('#popup').show()
), ->
$('#popup').hide()
答案 0 :(得分:2)
你可以使用DOM遍历来完成它。假设您的subscription-video
标签和弹出窗口位于同一个div中:
$(document).ready ->
$('.subscription-video').hover (->
$(this).closest('.popup').show()
), ->
$(this).closest('.popup').hide()
答案 1 :(得分:1)
由于你正在使用jQuery,你可以试试这个:
$(document).ready(function(){
$(document)
.on("mouseenter",".subscription-video", function(e){
$(e.target).hide(300);
});
$(document)
.on("mouseleave",".subscription-video", function(e){
$(e.target).show(300);
});
});
也称为事件委托