1

pjax リンクで jquery.tipsy を使用すると、クリック後にマウスアウトしてもツールチップが非表示になりません。

これは、クリック後に mouseout イベントがこの要素から切り離されていることを意味する可能性があり、それが問題が存在する理由ですか?

これがpjaxとtipy()をロードする方法です

$(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: truetipsy() に追加しても同じ結果になります。

4

1 に答える 1

0

同様の問題がありました。ページは のコンテンツに 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();
});
于 2012-08-23T07:27:27.377 に答える