Ich habe ein Tooltip-Skript (Dom Tooltip - MojaveLinux.com - http://www.mojavelinux.com/projects/domtooltip/) in ein area-Tag als mouseover eingebaut. Wenn ich mit der Maus über den Link fahre wird sowohl das alt-Attribut als Tooltip, als auch ein DomTT-Tooltip angezeigt. Benutzern ohne Javascript wollte ich zumindest das Alt-Attribut als Tooltip überlassen, Benutzern mit eingeschaltetem JavaScript sollten in den vollen Funktionsumfang des gestylten Tooltips kommen.
Lösung:
Um Attribute zu entfernen liefert JavaScript den Befehl removeAttribute()
Doch das Einbinden in ein onMouseOver-Event schlägt fehl:
JavaScript-Code:
function remAttr(id)
{
document.getElementById(id).removeAttribute('alt');
}
HTML--Markup (vereinfacht):
<img...>
<map...>
<area shape="rect" coords="12,102,214,122" href="#" id="v3" alt="meinAltTag" onMouseOver="remAttr(this.id); meineEigeneTTFunktion()" />
</map>
Man kann aber diese Alt-Attribute am Seitenende durch ein Javascript entfernen. Allerdings muss jedes einzelne Element "persönlich" angesprochen werden. Das kann man umgehen, wenn alle eine einheitliche Namensgebung haben und mit einem Zähler versehen sind, z.B. v0, v1, v2...
JavaScript-Code am Seitenende:
<script language="javascript" type="text/javascript">
<!--
function remAttr()
{
for(i=0;i<=7;i++)
{
id = 'v'+i;
document.getElementById(id).removeAttribute('alt');
}
}
remAttr();
-->
</script>
und das zugehörige HTML-Markup:
<img...>
<map...>
<area shape="rect" coords="12,102,214,122" href="#" id="v0" alt="meinAltTag" onMouseOver="meineEigeneTTFunktion()" />
.
.
.
<area shape="rect" coords="216,123,303,141" href="#" id="v7" alt="meinAltTag" onMouseOver="meineEigeneTTFunktion()" />
</map>
Bookmarks:
Delicious Facebook Google Yahoo Mr. Wong Linkarena Digg