-2

如果在 Firefox 中查看,特定 HTML 元素的 title 属性不会显示在我的应用程序中。有多个主题可以解释这个问题。我无法找到适合我需要的解决方案。所以我问你是否可以请帮助。

我排列了许多div。在鼠标悬停时,每个 div 应该显示不同的值(标题)。title 属性在 Chrome 中工作正常,但我需要一些与 Firefox 类似的东西。

title 属性是从 Javascript 动态设置的!

我的Javascript:

dojo.connect(div, 'mousemove',rasterTimeDisplay);

function rasterTimeDisplay() {
dojo.attr(evt.target, 'title', "some new title");
 }
4

2 回答 2

0

为什么不将要显示的数据存储在另一个属性中?因为您使用 javascript 来提供数据存储属性,所以您可以随心所欲。

例如,使用 jQuery :

//I feed my data-storage attribute
$("#my_div").attr('my-data', '<h1>my content to be displayed</h1>');
//And then i bind the hover event to toggle displaying of this data
$("#my_div").hover(
    function(){
        $(this).html($(this).attr('my-data'));
    },
    function(){
        $(this).html('');
    }
);

或使用标准 JavaScript:

document.getElementById('my_div').my_data = '<h1>my content to be displayed</h1>';
document.getElementById('my_div').onmouseover = function(){
    this.innerHTML = this.my_data;
};
document.getElementById('my_div').onmouseoout = function(){
    this.innerHTML = '';
};
于 2013-11-12T13:05:52.013 回答
0

对不起,如果我误解了你。但是,您试图title在悬停时触发该属性?但是该title属性已经被默认悬停触发:

因此,如果您只是将属性添加到所需的元素,您将获得有关悬停的额外信息。

var titles = document.getElementsByClassName('title');

for(var i = 0; i < titles.length; i++)
{
    titles[i].title = 'Hover information ' + i;
}

jsFiddle

我对 jQuery 的方式很感兴趣:

$('.title').attr('title', 'Hover information');

还是不行?

第 1 步:首先尝试在安全模式下运行您的 Firefox 客户端。你的问题现在可能已经解决了。如果是这种情况,请继续执行步骤 2。否则...好吧,我建议您更新您的图形驱动程序或安装更新的版本。

第 2 步:禁用您的硬件加速(AH)

在此处查看有关此问题的另一个答案:https: //support.mozilla.org/nl/questions/860902


现在,如果您只是想解决这个问题,甚至让最古老的 Firefox 浏览器支持这一点。你可以在这里找到:Tooltips (title="...") won't show in Firefox


我希望这能解决你的问题。

于 2013-11-12T13:33:09.467 回答