Вам необходимо отсоединить обработчик mousemove
, который все еще подключен в данный момент, например:
function setPos(e) {
//can be $('#box') in this case...
$(this).parent('#box').css({ cursor: 'move', top: e.pageY - 15, left: e.pageX - 125 });
}
$('.box-title').live('mousedown click', function(e) {
if(e.type == 'mousedown') {
$(window).mousemove(setPos);
}
else if(e.type == 'click') {
$(window).unbind('mousemove', setPos);
}
});
Или, в jQuery 1.4.3+, обработчик .live()
может быть немного чище:
$('.box-title').live({
mousedown: function() {
$(window).mousemove(setPos);
},
click: function() {
$(window).unbind('mousemove', setPos);
}
});
Кроме того, он появляется у вас есть несколько id="box"
элементов на странице ... убедитесь, что в этих случаях используются классы, в этом коде $(this).parent('#box')
будет $(this).closest('.box')
.