Autor Zpráva
Anonymní
Profil *
Ahoj,
v IE funguje
window.event.srcElement.style.zIndex = 1
ale ve Firefox event není. Lze tento zápis nějak nahradit tak, aby fungoval v IE i Firefox?
Díky Martin
ah01
Profil
Ve FF je ebeny korektně dostupný jako parametr fce., která událost obsluhuje. To spíš v IE, je objekt ebeny, trochu nestandardně, dostupný přes window.event. Většinou se to řeší takto:


function událost(e){
if(!e) var e = window.event;
e.srcElement.style.zIndex = 1 ;
}
Anonymní
Profil *
Díky Martin
Anonymní
Profil *
Přesněji to je takhle:


function událost(e){
//IE
if (!e) {
windonw.event.srcElement.style.zIndex = 1;
}
else if (e){
e.target.style.zIndex = 1;
}
}


Martin
peta
Profil *
ja treba pouzivam toto:
function myska(e)
{
if (!e) {var e=window.event}
if (e.pageX || e.pageY) {racketX=e.pageX} //y=e.pageY
else if (e.clientX || e.clientY) with (document.body)
{racketX=e.clientX+scrollLeft} //y=e.clientY+scrollTop scrollTop=Oper a
racketmove()
}
document.onmousemove=myska;

function klavesa(e)
{var k,a;
if(!e) var e=window.event;k=e.charCode?e.charCode:e.keyCode?e.keyCode:e.which; // Moz,IE,NN
a=Math.floor((INT>>4)+1)
if (k==100 || k==75 || k==107 || k==37) {posx-=a} //4Kk,left
if (k==102 || k==76 || k==108 || k==39) {posx+=a} //6Ll,right
if (k==109 || k==81) gamespeed(10) //sede -
if (k==107 || k==65) gamespeed(-10) //sede +
if (k==83) initG() //s
}
document.onkeydown=klavesa;
20070614
Profil *
Rozdíly mezi IE a Mozillou jsou pěkně popsány na
www-128.ibm.com >>> Event differences

Důležité je, že v IE a v Mozille jsou i různé properties (srcElement je v Mozille target) - viz tabulka Event properties differences between Mozilla and Internet Explorer
Toto téma je uzamčeno. Odpověď nelze zaslat.

0