鼠标悬停问题

时间:2011-09-02 15:41:22

标签: javascript jquery javascript-events mouseover

我有以下鼠标悬停功能:

$('.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,但它也会循环播放。

2 个答案:

答案 0 :(得分:2)

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

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

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

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

<强> MouseOver()

  • 进入元素时触发可以触发任何子元素。

<强> MouseEnter():

  • 在输入元素时才会触发,只有该元素才会触发。

答案 1 :(得分:1)

您想使用mouseenter