2011-09-02 138 views
0

我有以下的鼠標懸停功能:鼠標懸停問題

$('.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');  
      //}); 
    }); 

它往裏面.msg_id一些HTML代碼($( 「#」 + TID)。html的(數據))。 循環調用函數「mouseover」。 ajax請求始終在鼠標懸停的同時發送,而不僅僅是一次。 我該如何解決它? 我也嘗試過mouseenter,但它也在循環中啓動。

+0

我不明白。你爲什麼使用'mouseover'?爲什麼不點擊? –

+0

這是否發生在put html內容後鼠標光標下發生的事情? – Samich

+0

我使用鼠標懸停,因爲我想在鼠標懸停時觸發事件,而不是點擊它。 –

回答

2

您可能需要使用mouseenter()事件相反,如將鼠標懸停在火裏面的元素的一舉一動。

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

,或者如果現場不是必需的,簡單地說:

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

MouseOver()

  • 將火在進入一個元素可以發射所有子元素的內部。

MouseEnter():

  • 將火在進入一個元素,只有元素。
+0

是什麼讓你使用'live'? – jondavidjohn

+0

你從哪裏得到這些描述?他們驗證了他們實際上做的事情的困惑... – jondavidjohn

+0

沒有必要,只是模仿它,因爲OP在他的現場活動中使用。我還會包含一個非現場版本。 –