工具提示(标题=“...”)将不会在Firefox中显示(Tooltips (title=“…”)

2019-07-28 20:36发布

我有一个元素title属性(即,工具提示),包裹在一些容器中:

<div id="foo">
    <input type="text" title="A tooltip" />
</div>

并且附上一个"mousemove"在容器上事件侦听器和停止事件传播:

document.getElementById('foo').addEventListener(
    'mousemove',
    function(e) { e.stopPropagation() },
    false
)

在容器上停止“mousemoves”的传播的这种组合现在防止从工具提示显示出来用于内文本框, 在Firefox 2和向上。 我试过FF 2 .0.0.20],3 .0.11],和最新的3.5(在Windows Server 2003,XP)。

作为一个快速运动,Firefox用户可以通过运行下面的等效逻辑如上在地址栏中看到这个bug在行动:

javascript:void($('div.vote').mousemove(function(e){ e.stopPropagation() }))

现在,鼠标悬停任何的投票支持,否决,或为这一问题星级(收藏)图标。 工具提示不再出现。 再次,在Firefox只

有没有人有在Firefox这种行为/错误解决方法? 有没有其他人目睹了这一点?

更新 :看来Firefox使用“鼠标停止移动”来触发提示在chrome浏览器(例如,后退/前进按钮)。 见https://bugzilla.mozilla.org/show_bug.cgi?id=82953 。 但是我不能告诉我们,如果这会影响DOM。

更新 :看来火狐10是表现出这种行为的最后一个版本。 Firefox的11.0及以后显示工具提示,无论事件的传播。

更新 :火狐33(0.1)不再出现此问题。

Answer 1:

我已经证实了这个问题。 我甚至尝试使用此代码通过手的情况下传播到只有输入框:

<div id="foo" title="A tooltip 2"> <input title="A tooltip" type="text" id="bar"/>
</div>
<script type="text/javascript">
document.getElementById('foo').addEventListener(
    'mouseover',
    function(e) {
        e.stopPropagation();
        if (document.createEvent) {
            var inputBox = document.getElementById('bar');
            var evt = document.createEvent("MouseEvents");
            evt.initMouseEvent("mousemove", true, true, window, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, false, false, false, false, null, null);
            inputBox.dispatchEvent(evt);
        }
    },
    false
)
</script>

没有骰子。 然而,其他的鼠标事件,包括鼠标悬停,似乎很好地工作。

我相信这是一个错误。 虽然它不是在Bugzilla的上市,搜索似乎确实指示相关事件“鼠标悬停”和工具提示之间。

你可能会下载最新的每晚构建这里的Firefox,看看它是否仍然是存在的。 如果是, 文件中的错误 。

作为替代,我想看看是否鼠标悬停可能给你想要的效果。



Answer 2:

我最近看了一些火狐浏览器安装(即谷歌工具栏),导致与冠军工具提示的问题。 停用和检查是否能解决您的问题。



文章来源: Tooltips (title=“…”) won't show in Firefox