2013-03-28 2 views
1

Я знаю использование mouseenter и mouseleave. Ниже мой пример кода:Mouseenter и MouseLeave триггер в то же время

$('div').mouseenter(function(e){ 
    ... 
}).mouseleave(function(e){ 
    ... 
    //let say it will take 5 second. 
}); 

Но мой вопрос, возможно ли, что два обработчика запускается в то же время, если я двигаю мышь быстро? Я имею в виду mouseleave не заканчивается, тем временем mouseenter срабатывает, потому что мышь просто приближались.

Обновлено

В моем примере, что я имею в виду, если движение мыши в течение 3 секунд после того, как mouseleave было запущено , будет ли он также запускаться mouseenter? Если это так, означает ли это тот же самый элемент DOM-элемента mouseenter и уйти в одно и то же время? Благодарю.

+0

Невозможно вызвать их при ** точно таком же ** времени, но совсем не необычно, что события, следующие за триггером, могут перекрываться. – magi182

+0

Если события действительно быстро срабатывают, это заставляет его смотреть одновременно. Я бы посоветовал вам использовать - 'hover()'. Читать - http://stackoverflow.com/questions/15663818/element-fades-in-out-more-than-once-on-mouseover/15664084#15664084 – kiddorails

+0

'hover' - это не то, что я хочу. Благодарю. –

ответ

3

Невозможно одновременно запустить оба события. Поскольку javasript не многопоточен. Если Вы хотите положить некоторую задержку между выполнением вы можете использовать setTimeout

+0

просмотрите обновление. Благодарю. –

+0

Проверьте обновленный ответ. – Adil

+0

это сделает код не забавным .... спасибо. –

1

нет .... нет possibbilities о вызове и функцию в то же самое время .... и вы не можете быть достаточно быстро для того

+0

>> Я имею в виду, что мышь не заканчивается, между тем вызывается центр мыши! << Он означает следующий стек событий. – magi182

+0

если стек событий, то его предоставленные коды должны сделать это ..... – bipen

+0

просмотрите обновление. Благодарю. –