Я думаю, что ваша проблема в том, что вы понимаете, как работают обработчики событий, после того, как вы добавили обработчик событий, он будет прослушивать его событие.
Таким образом, ваш код добавит событиеобработчик для прослушивания mousedown
, когда dom готов, после того, как это произойдет, он добавит событие для mousemove
- теперь в документе зарегистрированы оба обработчика событий, поэтому он будет обрабатывать оба независимо.
Чтовы хотите сделать, это удалить обработчик события mousemove
для события mouseup
.Таким образом, теперь документ больше не слушает обработчик событий mousemove
, поскольку он был удален.
$('#box').mousedown(function(){
$(document).bind('mousemove',function(e){
// Do something:
});
});
$(document).mouseup(function(){
$(document).unbind('mousemove');
});
Вот простой пример , так что вы можетеПосмотрите, что происходит, он добавит сообщение под box
.