 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
14.09.2007, 11:53
|
#1
|
|
TP-Junior
Registriert seit: Sep 2007
|
alt Attribut dynamisch entfernen (area-Tag)
Ich habe bei einer Imagemap diverse area-Tag mit Alt-Attributen. Ich versuche diese mit Javascript zu entfernen:
Code:
function remAttr(id)
{
document.getElementById(id).removeAttribute('alt');
}
<img...>
<map...>
<area shape="rect" coords="12,102,214,122" href="#" id="v3" alt="meinAltTag" onMouseOver="remAttr(this.id)" />
Das klappt allerdings nicht im IE
http://www.validome.org/doc/HTML_ge/...move_attribute
hat mir dazu den Ansatz gegeben...
Hat jemand vielleicht eine Idee wie man das alt-Attribut aus dem area-Tag löschen kann?
|
|
|
14.09.2007, 13:17
|
#2
|
|
TP-Veteran
Registriert seit: May 2006
|
Geht denn:
document.getElementById(id).alt = '';
?
__________________
...Meine Meinung
1984
|
|
|
14.09.2007, 13:55
|
#3
|
|
TP-Junior
Registriert seit: Sep 2007
|
Das geht genauso wenig. Übrigens habe ich gemerkt, dass es nur beim ersten Überfahren mit der Mouse nicht funktioniert.
Demnach scheint etwas mit der Ladereihenfolge des JavaScripts nicht zu funktionieren. Im IE scheint zuerst der alt-Attribut ausgewertet zu werden, dann das onmouseover-Event. Danach klappt es wie gewünscht. Es sollte aber direkt beim ersten mal ohne alt-Tooltip aufgerufen werden.
Gibt es evtl. eine andere Möglichkeit (JavaScript) das alt-Attribut zu unterdrücken?
|
|
|
14.09.2007, 14:25
|
#4
|
|
TP-Specialist
Registriert seit: Mar 2005
Ort: Unterfranken
|
Bevor wir weiter in die komplexe Welt des JavaScripts eintauchen, warum willst du die alt-Attribute entfernen?
|
|
|
14.09.2007, 14:40
|
#5
|
|
TP-Junior
Registriert seit: Sep 2007
|
Eigentlich wollte ich diese Diskussion hier herauslassen. Da Du aber schon fragst hier eine kurze Erklärung:
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.
|
|
|
14.09.2007, 14:42
|
#6
|
|
TP-Veteran
Registriert seit: May 2006
|
Dann mach doch das alt-tag mittels onload weg..
__________________
...Meine Meinung
1984
|
|
|
14.09.2007, 14:57
|
#7
|
|
TP-Junior
Registriert seit: Sep 2007
|
onload lässt sich soweit ich weiß nicht auf area-Tags anwenden.
Aber ich denke, in diese Richtung geht es. Ich werde einfach die alt-Tags in einem script-Block am Ende der Seite löschen, ohne dass eine mouseover-Funktion aufgerufen wird.
Hätte ja sein können, dass es noch andere, evtl. elegantere Methoden gibt.
Danke auf jeden Fall schon mal an alle fürs Problem lösen.
|
|
|
14.09.2007, 15:10
|
#8
|
|
TP-Junior
Registriert seit: Sep 2007
|
Das hat nun auch geklappt. Hier der Codeschnipsel:
Code:
<script language="javascript" type="text/javascript">
<!--
function remAttr()
{
for(i=0;i<=7;i++)
{
id = 'v'+i;
document.getElementById(id).removeAttribute('alt');
alert(id+'-alt:'+document.getElementById(id).alt);
}
}
remAttr();
-->
</script>
und das zugehörige HTML-Markup:
HTML-Code:
<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>
|
|
|
14.09.2007, 16:35
|
#9
|
|
TP-Specialist
Registriert seit: Mar 2005
Ort: Unterfranken
|
Zitat:
Zitat von treebeard
Eigentlich wollte ich diese Diskussion hier herauslassen.
|
Es ging nicht um eine Diskussion, sondern darum, dass es möglicherweise eine einfachere Methode geben könnte. Ich wollte eigentlich den Trick mit title="" vorschlagen, aber da du meinst
Zitat:
|
Benutzern ohne Javascript wollte ich zumindest das Alt-Attribut als Tooltip überlassen
|
wird dir der Trick nicht helfen.
|
|
|
14.09.2007, 17:46
|
#10
|
|
TP-Junior
Registriert seit: Sep 2007
|
Okay, verstehe. Vielen Dank.
|
|
|
15.09.2007, 13:16
|
#11
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Oberbayern
|
Zitat:
Zitat von treebeard
Benutzern ohne Javascript wollte ich zumindest das Alt-Attribut als Tooltip überlassen [...]
|
Das Alt-Attribut als Tooltip darzustellen ist eine Eigenheit des IE.
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:24 Uhr.
|
 |