[英]jquery pjax + jquery tipsy the tooltip doesn't hide on mouseout after click
在pjax鏈接上使用jquery.tipsy時,單擊鼠標后,工具提示不會隱藏。
這可能意味着在單擊后,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 Tipsy: http : //onehackoranother.com/projects/jquery/tipsy/
編輯:如果live: true
相同的結果live: true
添加到tipsy()。
我也遇到過類似的問題。 頁面將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();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.