Autor |
Nachricht |
Gargoyle
Threadersteller
Dabei seit: 19.05.2005
Ort: -
Alter: 39
Geschlecht:
|
Verfasst Sa 01.03.2008 12:52
Titel [JavaScript] Eventlistener im IE |
|
|
Guten Tag
ich lese mich gerade in JavaScript ein. Das nachfolgende Script ist also mehr eine Übung. In den W3C Browsern funktioniert das soweit auch, nicht aber im IE. Könnte mir schnell jemand von euch auf die Sprünge helfen?
Html:
Code: | //Im Headteil:
<script type="text/javascript" src="preview.js"></script>
<body onload='init()'>
<a rel="rckyiewer" href="bilder/uno.jpg" target='_blank'><img src="bilder/checker.jpg" alt="" /></a>
<a rel="rckyviewer" href="bilder/due.jpg" target='_blank'><img src="bilder/checker.jpg" alt="" /></a>
<a rel="rckyviewer" href="bilder/tre.jpg" target='_blank'><img src="bilder/checker.jpg" alt="" /></a>
</body> |
JS:
Code: | var container;
var vorschau;
var links;
var i;
//Initialisierung //////////////////////////////////////////////////////////
function init () {
function zuweisen () {
links=document.links;
for(i=0;i<links.length;i++) {
if(links[i].rel=='rckyviewer'){
if(document.attachEvent){
links[i].attachEvent('onmouseover',preview);
} else if (document.addEventListener){
links[i].addEventListener('mouseover',preview,false);
} else {
links[i].onmouseover=preview;
}
}
}
}
function preview (e) {
vorschau.src=this.href;
}
//Erstellen des Containers
function container () {
if(document.getElementsByTagName) {
//Elemente Auswählen
var bod=document.getElementsByTagName('body');
vorschau=document.createElement('img');
container=document.createElement('div');
//Vorschaucontainer einfügen
bod[0].appendChild(container);
container.appendChild(vorschau);
//Aussehen des Containers
container.style.position='absolute';
//container.style.visibility='hidden';
container.style.top='300px';
container.style.left='300px';
zuweisen();
} else {
}
}
container();
} |
Die Übergabe des Links funktioniert im IE nicht! Warum?
Thx
Gargoyle
Zuletzt bearbeitet von Gargoyle am Sa 01.03.2008 12:54, insgesamt 1-mal bearbeitet
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 01.03.2008 14:12
Titel
|
|
|
Lass dir in preview() mal das this keyword ausgeben.
|
|
|
|
|
Anzeige
|
|
|
Gargoyle
Threadersteller
Dabei seit: 19.05.2005
Ort: -
Alter: 39
Geschlecht:
|
Verfasst Sa 01.03.2008 15:00
Titel
|
|
|
hmm, this wird im IE zwar als [object] erkannt, ich kann aber nicht auf seine attribute zugreifen, die sind undefiniert... komischerweise wird in den W3C Browsern z.B. für this an der gleichen Stelle immer die URL des Links ausgegeben, was meiner Meinung nach auch nicht sein sollte (aber wie gesagt ich arbeite mich auch erst grad ein).
Zuletzt bearbeitet von Gargoyle am Sa 01.03.2008 15:03, insgesamt 1-mal bearbeitet
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 01.03.2008 15:31
Titel
|
|
|
this zeigt in dem Fall im IE auf das window objekt und ist somit nutzlos.
|
|
|
|
|
Raumwurm
Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 01.03.2008 18:56
Titel
|
|
|
jo, wenn dann wäre es sinnvoll das element zu übergeben,
das den event ausgelöst hat. Also so:
Code: |
for(i=0;i<links.length;i++) {
if(links[i].rel=='rckyviewer'){
links[i].onmouseover = function() {
preview(this);
}
}
}
|
und die preview() dann so:
Code: |
function preview (el) {
vorschau.src=el.href;
}
|
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
|
|
|
|
Gargoyle
Threadersteller
Dabei seit: 19.05.2005
Ort: -
Alter: 39
Geschlecht:
|
Verfasst So 02.03.2008 14:29
Titel Herzlichen Dank |
|
|
@bacon: Danke... da hätt ich eigentlich auch selbst draufkommen können ich Horst!
@m: Danke auch dir... mit OOP steh ich leider etwas auf Kriegsfuss, hab die Umstellung bereits bei AS und PHP versucht und dann immer beiseite geschoben...
|
|
|
|
|
|
|
|
Ähnliche Themen |
AS 3 EventListener deaktivieren
eventListener aus Array erzeugen mit AS3
Brauche etwas js-Hilfe … (eventListener)
Flash CS3 - EventListener soll variable ändern
[javascript] mit <select> feld wert an javascript funk
Javascript
|
|