我正在创建一个简单的工具提示插件,它将“标题”属性内容显示为工具提示文本。所以我想禁用显示工具提示的默认浏览器行为,因为我在div
. 所以我使用了下面的代码,但这不起作用,我可以同时看到默认工具提示和我的工具提示,默认工具提示与我的工具提示重叠。
$("a").hover(function(e){
e.preventDefault();
});
我正在创建一个简单的工具提示插件,它将“标题”属性内容显示为工具提示文本。所以我想禁用显示工具提示的默认浏览器行为,因为我在div
. 所以我使用了下面的代码,但这不起作用,我可以同时看到默认工具提示和我的工具提示,默认工具提示与我的工具提示重叠。
$("a").hover(function(e){
e.preventDefault();
});
为什么不只是确保标签中没有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');
});