2010-07-22 1 views
0

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

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

Этот клик-событие работает просто отлично. однако я хочу, чтобы событие при наведении на эти ссылки, а также:

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

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

любые идеи?

ответ

0

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

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

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

0

В соответствии с документацией 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????"); 

Вы были апостроф в строковой литерал апострофы. Это приведет к тому, что оператор и любой после него потерпят неудачу.

По иронии судьбы, краска кода переполнения стека также не работает на линии. :)

+0

спасибо, был всего лишь примером! – matt

+0

Ах, это объяснило бы :) –

0

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