event.clientX в firefox
Всем привет!)
консоль ошибок в firefox: TypeError: event is undefined а в хроме работает В коде в обработчике для события mouseover не получается получить точки курсора мыши с помощью event.clientX. что делать? :) |
|
|
рони,
ошибка исчезла, но попробовал alert(event.clientX); // не отрабатывает Deff, буду пробовать |
div.onmouseover = function(event) { // забыл параметр event передать, всем спасибо
|
Как узнать отпустил ли пользователь левую кнопку мыши для события onmousedown?
Есть ли какое-нибудь свойство, которое проверяет зажата ли еще кнопка? |
BaVa,
а чем вас onmouseup неустраивает? |
рони,
я делаю скрипт, с помощью которого при наведении на угол элемента и клике можно было изменять размер div, пока не отпустишь кнопку. не пойму как сделать обработчик, работающий во время зажатия кнопки Сначала я думал, что mousedown работает все время работает при зажатии левой кнопке, но размер div изменялся по 2px и останавливался Сейчас делаю заново и вот кое какие наброски
var doc = document;
onload = function() {
var t, r, b, l;
var div = doc.getElementsByTagName("div")[0];
div.onmousemove = function(event) {
var e = event || window.event;
var x = e.clientX;
var y = e.clientY;
t = div.getBoundingClientRect().top;
r = div.getBoundingClientRect().right;
b = div.getBoundingClientRect().bottom;
l = div.getBoundingClientRect().left;
div.innerHTML = "top: " + t + "<br>right: " + r + "<br>bottom: " + b + "<br>left: "+ l; // смотрю как изменяется
if((e.clientX+1 == r) && (e.clientY+1 == b))
div.style.cursor = "se-resize";
else
div.style.cursor = "default";
}
div.onmousedown = function(event) {
var e = event || window.event;
var x = e.clientX;
var y = e.clientY;
t = div.getBoundingClientRect().top;
r = div.getBoundingClientRect().right;
b = div.getBoundingClientRect().bottom;
l = div.getBoundingClientRect().left;
}
}
|
BaVa,
Ну вот как-то так в первом приближении ... тянуть за правый нижний:write:
<!DOCTYPE HTML>
<html>
<head>
<title></title>
<style type="text/css">
div{
border: #3366FF 2px solid;
height: 200px;
width: 200px;
background-color: #CCFFFF;
}
</style>
</head>
<body>
<div></div>
<script type="text/javascript">
var doc = document;
window.onload = function() {
var t, r, b, l;
var xx,yy,rr,bb,f=!1;
var div = doc.getElementsByTagName("div")[0];
t = div.getBoundingClientRect().top;
r = div.getBoundingClientRect().right;
b = div.getBoundingClientRect().bottom;
l = div.getBoundingClientRect().left;
div.onmousemove = function(event) {
var e = event || window.event;
var x = e.clientX;
var y = e.clientY;
t = div.getBoundingClientRect().top;
r = div.getBoundingClientRect().right;
b = div.getBoundingClientRect().bottom;
l = div.getBoundingClientRect().left;
div.innerHTML = "top: " + t + "<br>right: " + r + "<br>bottom: " + b + "<br>left: "+ l; // смотрю как изменяется
if((e.clientX > r-15) && (e.clientY> b-15))
{div.style.cursor = "se-resize";div.style.backgroundColor="#FFFF66"
}
else
{div.style.cursor = "default";div.style.backgroundColor="#CCFFFF"};
if(f){
div.style.width=rr - (xx - x) + "px"
div.style.height=bb - (yy -y) + "px"
}
}
div.onmousedown = function(event) {
var e = event || window.event;
xx = e.clientX;
yy = e.clientY;
rr = div.getBoundingClientRect().right;
bb = div.getBoundingClientRect().bottom;
if((e.clientX > r-15) && (e.clientY> b-15))f = !0;
}
div.onmouseup = function(event) {
f=!1
}
div.onmouseover = function(event) {
div.style.backgroundColor="#CCFFFF"};
}
</script>
</body>
</html>
|
рони,
спасибо, буду разбираться) а что значит f=!1? то есть все, но только не один? или как |
| Часовой пояс GMT +3, время: 09:42. |