jquery pjax + jquery tipsy подсказка не прячется при наведении мыши после щелчка - PullRequest
1 голос
/ 22 февраля 2012

При использовании jquery.tipsy для ссылок pjax подсказка не скрывается при наведении мыши после щелчка.

Это может означать, что после щелчка событие mouseout отсоединяется от этого элемента, и поэтому проблема существует?

Вот как я загружаю pjax & tipsy ()

$(function () {
    $('[data-pjax]').pjax('#offer-table', {timeout: 100000})
})


<script type='text/javascript'>
  $('a.tipsy').tipsy({delayIn: 500});
</script>

jquery-pjax: https://github.com/defunkt/jquery-pjax

JQuery Типсы: http://onehackoranother.com/projects/jquery/tipsy/

Редактировать: Тот же результат, если live: true добавлено к типу ().

1 Ответ

0 голосов
/ 23 августа 2012

У меня были похожие проблемы. Страница использует pjax для содержимого <div data-pjax-container>. Элементы внутри контейнера имеют подсказки, которые отображаются при наведении курсора мыши и скрываются при наведении мыши. Если я инициирую изменение pjax, а затем наведу курсор на элемент во время его изменения, подсказка никогда не сможет скрыться, потому что больше нет элемента для наведения мыши.

Это то, что я закончил, как CoffeeScript:

PJAX_TIPSY_CLASS = "pjax-tipsy"

$element.tipsy(live: true, className: PJAX_TIPSY_CLASS)

# pjax changes could leave a tipsy up from the old page.
$pjaxContainer = $('[data-pjax-container]')
$pjaxContainer.bind 'pjax:end', ->
  $(".#{PJAX_TIPSY_CLASS}").remove()

Или как JavaScript:

var PJAX_TIPSY_CLASS = "pjax-tipsy";

$element.tipsy({ live: true, className: PJAX_TIPSY_CLASS });

var $pjaxContainer = $('[data-pjax-container]');
$pjaxContainer.bind('pjax:end', function() {
  $("." + PJAX_TIPSY_CLASS).remove();
});
...