Hi,
Und wo liegt jetzt da das Problem?
Ich habe die events einmal umgekehrt belegt.
Die Dokumentweite Abfrage per onkeydown und onkeyup belegt jetzt nur noch die globale Variable "active". Der onmouseover Event der jeweiligen Bilder setzt den Cursor.
Problem beim Firefox:
Ignoriert die Events onkeydown und onkeyup (keine Fehlerausgabe).
Problem bei Opera:
Setzt den Cursor nicht (keine Fehlerausgabe).
Problem bei Safari:
Setzt den Cursor nicht wieder zurück, wenn active false ist (keine Fehlerausgabe)!
================= schnipp =====================
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script language="javascript" type="text/javascript">
<!--
var active = false;
function onDownKey(e) {
e=e?e:window.event;
window.document.title="shift: "+e.shiftKey;//debug
active = e.shiftKey ? true : false;
}
function onUpKey(e) {
e=e?e:window.event;
window.document.title="shift: "+e.shiftKey;//debug
active = false;
}
function setCursor(imgid) {
var obj=document.getElementById(imgid);
window.document.title="over: "+imgid;//debug
obj.style.cursor = active ? "crosshair" : obj.pointer;
}
function setup(img) {
img.pointer = img.style.cursor;
if(document.all&&!window.opera) {
img.onmouseover = new Function('setCursor("'+img.id+'");');
}else {
img.setAttribute("onmouseover","setCursor('"+img.id+"');");
}
return false;
}
window.onload = function () {
document.onkeydown = onDownKey;
document.onkeyup = onUpKey;
}
//-->
</script>
</head>
<body>
<img style="float: left; margin: 10px; cursor: move;" id="img1" onload="setup(this);" src="test1.jpg" width="200" height="200" border="1" alt="" />
<img style="float: left; margin: 10px; cursor: move;" id="img2" onload="setup(this);" src="test2.jpg" width="200" height="200" border="1" alt="" />
<img style="float: left; margin: 10px; cursor: move;" id="img3" onload="setup(this);" src="test3.jpg" width="200" height="200" border="1" alt="" />
</body>
</html>