Сообщение от Aetae
|
Чтоб не плодить для разных объектов лишних слушателей обычно делается так
|
Сообщение от Tek
|
По человечески это пишеться так:
var mDown = false;
b.onmousedown = function(){ mDown = true; };
b.onmousemove = function(){if(mDown ){}};
b.mouseup = function(){ mDown = false; };
|
Считаю, что это неправильный подход. Событие должно вешаться, когда его действительно нужно слушать и обрабатывать. ТС в данном плане мыслит правильно.
<button id="test">нажми меня, держи и таскай</button>
<span id="result"></span>
<script>
var button = document.getElementById('test'),
result = document.getElementById('result');
function mousemove(e) {
result.innerHTML = e.pageX + ', '+ e.pageY;
}
function mouseup() {
button.removeEventListener('mousemove', mousemove);
button.removeEventListener('mouseup', mouseup);
}
button.addEventListener('mousedown', function () {
button.addEventListener('mousemove', mousemove);
button.addEventListener('mouseup', mouseup);
});
</script>