鼠标hover问题

我有以下鼠标hoverfunction:

$('.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请求在鼠标hover时始终发送,而不仅仅是一次。 我该如何解决? 我也尝试过mouseenter,但它也会循环播放。

您可能希望使用mouseenter()事件,因为鼠标hover将在元素内的每次移动时触发。

 $('.msg_id').live("mouseenter", function() { //Do work here }); 

或者如果不需要直播,只需:

 $('.msg_id').mouseenter(function() { //Do work here }); 

MouseOver() :

  • 进入元素时会触发任何子元素内部的触发。

的MouseEnter():

  • 进入元素时会触发,只有元素才会触发。

你想使用mouseenter