问题在于,当我为'wrapper'元素声明title属性时,当光标落在'content'元素内时,工具提示会出现。如何防止这种情况(继承)发生?
<style>
#content{ margin:25px;}
</style>
<div id='wrapper' title='example'>
<div id='content'>
</div>
</div>
(我只希望工具提示出现 之间 'content'和'wrapper'元素的边缘,而不是两者的边缘)
问题在于,当我为'wrapper'元素声明title属性时,当光标落在'content'元素内时,工具提示会出现。如何防止这种情况(继承)发生?
<style>
#content{ margin:25px;}
</style>
<div id='wrapper' title='example'>
<div id='content'>
</div>
</div>
(我只希望工具提示出现 之间 'content'和'wrapper'元素的边缘,而不是两者的边缘)
我不认为这可以用纯CSS或HTML。
破解这种方法的一种方法是使用客户端代码..基本的纯JavaScript示例:
window.onload = function() {
var oDiv = document.getElementById("content");
oDiv.onmouseover = function() {
this.parentNode.setAttribute("old_title", this.parentNode.title);
this.parentNode.title = "";
};
oDiv.onmouseout = function() {
this.parentNode.title = this.parentNode.getAttribute("old_title");
};
};
这将“清除”父母 div
鼠标悬停在内容上时标题,并在鼠标离开内容时恢复标题。
现场测试案例: http://jsfiddle.net/UASPZ/
我有同样的问题。我发现你可以通过给子元素一个虚拟标题来防止这种情况 title=" "
。
同样的问题在这里
发现那个指定 title=' '
适用于Chrome和FireFox,但在IE中显示了一个烦人的工具提示。 title=''
适用于IE,但完全被Chrome和FireFox忽略,从而显示了父级的工具提示。
没想出如何在跨浏览器中制作:(