我正在创建一个简单的工具提示插件,它将“标题”属性内容显示为工具提示文本。所以我想禁用显示工具提示的默认浏览器行为,因为我在div
中显示它。所以我使用了下面的代码,但这不起作用,我可以看到默认的工具提示和我的工具提示,默认工具提示重叠了我的工具提示。
$("a").hover(function(e){
e.preventDefault();
});
答案 0 :(得分:3)
为什么不确保alt
标记中没有title
和<a>
属性。
<a href="http://google.com" alt="Google!" title="Google!" />Goto Google</a>
对 -
的更改<a href="http://google.com" alt="Google!" />Goto Google</a>
所以你要做的就是在你要删除默认工具提示行为的所有<a>
标签上运行这个jQuery代码 -
$(".desiredElements").removeProp('alt').removeProp('title');
如果要维护这些工具提示以便稍后使用,则应将它们保存在$.data
对象中,并返回第二个悬停功能中的值,即“悬停”回调。
$('.desiredElements').hover(function() {
$thisCached = $(this);
$.data(this, 'title', $thisCached.attr('title'));
$thisCached.removeAttr('title').removeAttr('alt');
},function(){
$thisCached = $(this);
$thisCached.attr('title',$.data(this, 'title');
$thisCached.attr('alt',$.data(this, 'title');
});