Событие event в FireFox
Перечитала уже много об этом, в том числе и на этом сайте, но не могу понять одну вещь на счет события event.
Я нашла код на одном из форумов, который позволяет двигать объекты мышью. <html> <head> </head> <body> <script type="text/javascript" charset="utf-8"> var DragObject; var OffsetX, OffsetY; var isDragging = false; window.onload = function() { var o = document.getElementById("obj01"); o.style.position = "relative"; o.style.left = "0px"; o.style.top = "0px"; } function mouseDown(o, e) { DragObject = o; DragObject.ondrag = function() {return false;} DragObject.onselectstart = function() {return false;} if (window.event) {e = window.event;} var oX = parseInt(DragObject.style.left); var oY = parseInt(DragObject.style.top); var mouseX = e.clientX; var mouseY = e.clientY; OffsetX = mouseX - oX; OffsetY = mouseY - oY; isDragging = true; return false; } document.onmousemove = function (e) { if (!isDragging) {return;} if (window.event) {e = window.event;} var mouseX = e.clientX; var mouseY = e.clientY; var newX = mouseX - OffsetX; var newY = mouseY - OffsetY; DragObject.style.left = newX + "px"; DragObject.style.top = newY + "px"; return false; } document.onmouseup = function() { if (!isDragging) {return;} isDragging = false; return false; } </script> <input type="button" id="obj01" onmousedown="javascript:mouseDown(this, event)"> </body> </html> Если вызвать событие onmousedown с javascript, например так: o.onmousedown = mouseDown(o, event); то работает во всех браузерах, кроме FireFox!!! Я так понимаю, что не появляется событие event или не так как надо... Что не правильно? Подскажите, пожалуйста. |
yambbkru,
Вариант... <html> <head> </head> <body> <script type="text/javascript" charset="utf-8"> var DragObject; var OffsetX, OffsetY; var isDragging = false; window.onload = function(e) { var o = document.getElementById("obj01"); o.onmousedown = function (event) { mouseDown(o, event); } o.style.position = "relative"; o.style.left = "0px"; o.style.top = "0px"; } function mouseDown(o, e) { DragObject = o; DragObject.ondrag = function() {return false;} DragObject.onselectstart = function() {return false;} if (window.event) {e = window.event;} var oX = parseInt(DragObject.style.left); var oY = parseInt(DragObject.style.top); var mouseX = e.clientX; var mouseY = e.clientY; OffsetX = mouseX - oX; OffsetY = mouseY - oY; isDragging = true; return false; } document.onmousemove = function (e) { if (!isDragging) {return;} if (window.event) {e = window.event;} var mouseX = e.clientX; var mouseY = e.clientY; var newX = mouseX - OffsetX; var newY = mouseY - OffsetY; DragObject.style.left = newX + "px"; DragObject.style.top = newY + "px"; return false; } document.onmouseup = function() { if (!isDragging) {return;} isDragging = false; return false; } </script> <input type="button" id="obj01" > </body> </html> |
Спасибо, огромное!
|
Часовой пояс GMT +3, время: 16:44. |