jquery pjax + jquery 醉了,单击后鼠标悬停时工具提示不会隐藏

发布于 2025-01-08 03:55:35 字数 670 浏览 0 评论 0原文

在 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微醉:http://onehackoranother.com/projects/jquery/tipsy/

编辑:如果将 live: true 添加到tipsy(),结果相同。

When using jquery.tipsy on pjax links, the tooltip doesn't hide on mouseout after the click.

This could mean that after the click, mouseout event is unattached from this element and that's why the problem exists ?

Here's how I load 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/

Edit: The same result if live: true added to the tipsy().

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

椒妓 2025-01-15 03:55:35

我也遇到过类似的问题。页面将 pjax 用于

的内容。容器内的元素具有在鼠标悬停时显示并在鼠标移出时隐藏的提示。如果我触发 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();
});

I've had similar issues. A page uses pjax for the contents of <div data-pjax-container>. Elements inside the container have tipsies that show on mousehover and hide on mouseout. If I trigger a pjax change and then hover an element while it's changing, the tipsy can never hide because there is no element to mouseout from anymore.

This is what I ended up doing, as 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()

Or as 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();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文