Когда я выполняю событие mouseenter на привязном теге, всплывающая подсказка отображается, а на подсказке на мышах скрывается. Это хорошо работает.выпадение мыши не выполняется при множественном запросе ajax
Но когда я быстро перемещаю мышь из нескольких тегов привязки (вызывают многократный запрос ajax), то последняя всплывающая подсказка не скрывается, даже если мышь не находится на привязном теге. (В основном это всплывающая подсказка тега привязки, на котором указатель мыши последнее введенное до завершения АЯКСА запроса)
Описания того, что я сделал:
Я должен показать всплывающую подсказку на моем якоре метке на MouseEnter события.
Итак, для того, чтобы показать детали в подсказке, связанной с якорь тег (якорный тег список идентификаторов таблицы) я добавил идентификатор (tooltipWindow) внутри DIV
<div id='tooltipWindow'> </div>
так, на MouseEnter на анкерный ярлык, отправьте запрос ajax следующим образом:
$(document).ready(function(){
$(td a).live('mouseenter', function(e){
$.ajax({
url: controller/action,
data: $(this).text(),
dataType: script,
success: function(){
calculate xposition ad ypostion and set the postion of tooltip
}
});
});
});
И в js.erb файл (рубин на рельсах)
$(#tooltipWindow).show();
$(this).html(<%= partial template which is shown in tooltip by passing locals %>);
на MouseLeave случае я просто скрыть всплывающую подсказку и опустошить DIV.
$(td a).live('mouseleave', function(){
$(#tooltipWindow).hide();
$(#tooltipWindow).empty();
});
Я попытался заменить mouseleave мышью, но он не работал.
Любая помощь будет оценена по достоинству.
Только FYI, '.live()' устарел. Вместо этого вы должны использовать '.on()'. –
На самом деле я использую jQuery 1.8.3 в своем проекте, поэтому я использую live. – user2406618