1

我正在创建一个简单的工具提示插件,它将“标题”属性内容显示为工具提示文本。所以我想禁用显示工具提示的默认浏览器行为,因为我在div. 所以我使用了下面的代码,但这不起作用,我可以同时看到默认工具提示和我的工具提示,默认工具提示与我的工具提示重叠。

$("a").hover(function(e){
  e.preventDefault();   
});
4

1 回答 1

3

为什么不只是确保标签中没有alttitle属性。<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');
});
于 2012-08-23T15:27:14.397 回答