我有以下鼠标悬停功能:
$('.msg_id').live("mouseover", function() {
$(this).css('cursor', 'pointer');
tid = $(this).attr('id');
idx = $(this).attr('name');
resp="";
$.ajax({
async: false,
url: "log_msg.asp",
data: $("#msgForm").serialize() + "&aktion=popup&msg_id="+tid+"&msg_id"+idx,
success: function(data){
$("#"+tid).html(data);
}
});
//$.post("log_msg.asp", $("#msgForm").serialize() + "&aktion=popup&msg_id="+tid+"&msg_id"+idx,
//function(data) {
//}).success(function(){
//$("#"+tid).html(data);
//resp=data;
//$('#bub'+tid).css('display', 'block');
//popd.css('display', 'block');
//});
});
它将一些html代码放在.msg_id($(“#”+ tid).html(data);)中。 函数“mouseover”在循环中调用。 ajax请求在鼠标悬停时始终发送,而不仅仅是一次。 我该如何解决? 我也试过了mouseenter,但它也会循环播放。
答案 0 :(得分:2)
您可能希望使用mouseenter()事件,因为鼠标悬停会在元素内的每次移动时触发。
$('.msg_id').live("mouseenter", function() {
//Do work here
});
或者如果不需要直播,只需:
$('.msg_id').mouseenter(function() {
//Do work here
});
<强> MouseOver() 强>
<强> MouseEnter(): 强>
答案 1 :(得分:1)
您想使用mouseenter