我有一个简单的 hover() 事件,在这里效果很好:http ://waterworks.reuniondesign.com/rates (将鼠标悬停在其中一个单号上)
它在这里的主页上效果很好,我已经取消隐藏它:http ://waterworks.reuniondesign.com/ (向下滚动)
但是当在首页点击“点击这里进行码头布局”,将div做成simplemodal box时,鼠标悬停在单号上时会触发两次hover()事件。这是为什么?我尝试制作一个设置变量以查看它是否已经启动的东西,但它没有用。有任何想法吗?
这是执行悬停事件的代码。jLoader 是一个 ajax 函数:
$(document).ready(function(){
var live = false;
$('.slip').hover(function(){
console.log('opening ' + live);
if (live != true) {
live = true;
console.log('still opening ' + live);
$(this).css('z-index','999');
$(this).delay(500).append("<div id='slip_popup'><div id='slip_details'>loading slip details...</div></div>");
jLoader('/blocks/slip_detail.php?slip_number=' + $(this).attr('id').replace('slip_',''),'replace','slip_details');
}
},function(){
$(this).css('z-index','1');
$('#slip_popup').remove();
live = false
console.log('closing ' + live);
});
});
最后,如果有人知道为什么延迟函数在 append() 函数之前不起作用,我很想知道!