2011-05-04 141 views
11

的问题是,当我宣布为一个“包装”元件标题属性中,工具提示示出了当光标落在“内容”元素作为内部好。我如何防止这种(继承)发生?HTML:继承父[标题]属性停止子元素

<style> 
    #content{ margin:25px;} 
</style> 

<div id='wrapper' title='example'> 
    <div id='content'> 

    </div> 
</div> 

(我只想工具提示显示出来之间的“内容”和“包装”元素的边缘,而不是两个)

+1

根据这个源[链接](https://developer.mozilla.org/en/DOM/element.title),你必须设置内部DIV标题为好,白色的字符反正 - 。你要做的是为Firefox可惜的是,它并不能很好地在IE – mj82 2011-05-04 10:37:05

+2

工作@ mj82不幸的是,导致出现在IE – Flash 2011-05-04 10:40:37

回答

5

我不认为这是纯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/

+0

好主意空白提示,但我不得不从头开始整个实现,因为它在鼠标触发了比预期更频繁,由于内部的#内容的其他元素(我可以用e.stopPropagation();每一个,我想不管怎样,我会考虑。它) – whamsicore 2011-05-05 23:32:00

+0

@whamsicore对不起,我忍不住更多..如果你需要任何进一步的帮助,这个感觉免费吨o问。 :) – 2011-05-06 07:18:48

+0

就像一个魅力:) – T4NK3R 2012-03-29 13:18:45

4

我有同样的问题。我发现你可以通过给子元素一个虚拟标题title=" "来防止这种情况。

+0

至少这在firefox 4中有效;)我刚刚发现,那个chrome不喜欢它。和Opera完全忽略=( – mightyplow 2011-05-18 17:02:06

2
这里

同样的问题。

发现,指定title=' '作品Chrome和Firefox但示出了恼人的工具尖端与IE一个空间。 title=''适用于IE,但完全被Chrome和FireFox忽略,从而显示父母的工具提示。

没有想出如何使跨浏览器:(