我有一个标题属性的定位元素。 我想隐藏在浏览器窗口盘旋在它时出现的弹出窗口。 在我来说,这是不可能做这样的事情,
$("a").attr("title", "");
因为jQuery Mobile的某些事件发生后标题又会重新出现(基本上每次锚元素被重新绘制)。 所以我希望隐藏通过CSS的标题。
就像是:
a[title] {
display : none;
}
不工作,因为它隐藏整个锚元素。 我只想隐藏标题。 这甚至可能吗? 弹出窗口不应该显示。
我有一个标题属性的定位元素。 我想隐藏在浏览器窗口盘旋在它时出现的弹出窗口。 在我来说,这是不可能做这样的事情,
$("a").attr("title", "");
因为jQuery Mobile的某些事件发生后标题又会重新出现(基本上每次锚元素被重新绘制)。 所以我希望隐藏通过CSS的标题。
就像是:
a[title] {
display : none;
}
不工作,因为它隐藏整个锚元素。 我只想隐藏标题。 这甚至可能吗? 弹出窗口不应该显示。
使用下面的CSS属性将确保title属性的文本不悬停时出现:
pointer-events: none;
请记住,JS是一个更好的解决方案,因为这个CSS属性将确保元素是从来没有任何鼠标事件的目标。
按@ boltClock的建议,我会说,我不觉得一个CSS的解决方案是适用于本案,因为浏览器决定如何处理链接的为此事title属性,或任何事。 CSS,据我所知,是无法处理这个问题。
如前所述,使用jQuery与空字符串不会工作,更换标题因为jQuery移动在某些点上重写它们。 然而,这将独立JQM的工作,不涉及彻底消除这是SEO重要的title属性。
这工作:
$('a["title"]').on('mouseenter', function(e){
e.preventDefault();
});
我改变了我的最初代码$('body').on('mouseenter')
这个测试之后。 这是确认工作。
你可以用你内心的文字跨度,给一个空的title属性。
<a href="" title="Something" class=".some-tooltip-class"><span title="">Your text</span></a>
在CSS中这是不可能的,因为你只能用内容添加到DOM(tipically :before :after
和content: '...';
不能删除或更改属性。
唯一的方法是创建一个自定义的直播活动(上课。 "change-something"
):
$("a").on("change-something", function(event) { this.removeAttr("title"); });
并触发每一个变化:
... $("a").trigger("change-something");
更多信息和演示在这里:
http://api.jquery.com/trigger/
http://api.jquery.com/removeAttr/
尝试使用这种更改代码
$(document).ready(function() {
$("a").removeAttr("title");
});
这将删除标题属性,这样的提示标签将不会出现在悬停链接