Проблема при наведении мыши - PullRequest
0 голосов
/ 02 сентября 2011

У меня есть следующая функция наведения мыши:

$('.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 ]

2 голосов
/ 02 сентября 2011

Возможно, вы захотите использовать вместо этого событие mouseenter () , так как при наведении курсора будет происходить каждое движение внутри элемента.

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

или, если вживую не требуется, просто:

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

MouseOver () :

  • Будет стрелять при входе в элемент, может стрелять внутри любых дочерних элементов.

MouseEnter ():

  • Будет стрелять при входе в элемент, и только в этот элемент.
1 голос
/ 02 сентября 2011

Вы хотите использовать mouseenter

...