JQuery AJAY в прямом эфире? - PullRequest
       3

JQuery AJAY в прямом эфире?

0 голосов
/ 23 июля 2010

извините, я спрашиваю это снова, но я не могу найти решение.Я знаю, что там есть несколько постов, но для меня ничего не работает.Я загружаю часть сайта методом jquery load ().Я буду применять следующее правило ко всем ссылкам внутри них:

$('.file a').live('click', function(e) {
    alert('click event firde');
});

это событие клика работает просто отлично.Тем не менее, я хочу иметь событие hover для этих ссылок:

$('.file a').live('mouseover mouseout', function(event) {
    if (event.type == 'mouseover') {
    alert('why doesn't the hover event fire????');
 } else {
    // do something on mouseout
    }
});

Я понятия не имею, почему мое событие hover не срабатывает?могу ли я применить только один обработчик событий с live к определенному селектору ???

есть идеи?

Ответы [ 3 ]

0 голосов
/ 23 июля 2010

Вы хотите связать события отдельно, как это:

$('.file a').live('mouseenter', function() {
  //hover code
}).live('mouseleave', function() {
  //stopped hovering code
});

Мы используем mouseenter и mouseleave, потому что это события, с которыми .hover() связывается.

0 голосов
/ 23 июля 2010

Вы уверены, что используете хотя бы jquery 1.4.1?Все, что ниже, и этот код не будет работать.

0 голосов
/ 23 июля 2010

Согласно документации jQuery, " Начиная с jQuery 1.4.1 .live () может принимать несколько событий, разделенных пробелом ... ".Так что, пока вы используете по крайней мере v. 1.4.1, все будет в порядке.Единственная проблема, которую я обнаружил - это строка:

alert('why doesn't the hover event fire????');

, которая должна быть

alert("why doesn't the hover event fire????");

У вас была одинарная кавычка в строковом литерале, связанная одинарными кавычками.Это может привести к сбою в операторе и после него.

По иронии судьбы, окрашивание кода Stack Overflow также не работает на строке.:)

...