У меня есть таблица html, в которой есть столбцы перетаскивания, строки с изменяемым размером и столбцы с изменяемым размером, которые изменяются в зависимости от нажатия мыши, перемещения мыши и перемещения мыши. Для повышения производительности должен ли я постоянно проверять документ, если «мышь не работает, и если да, то для перетаскивания, строк с изменяемым размером или столбцов с изменяемым размером» во время перемещения мыши или я должен прикрепить обработчики перемещения мыши к документу при наведении мыши в определенном месте, а затем отсоединить его при наведении мыши? Насколько дорого обходится привязка и отвязка обработчиков при нажатии? Вот пример документа, который всегда проверяет наличие нажатия кнопки мыши, а не только проверку между нажатием кнопки мыши и щелчком мыши:
/* document is always checking mousemove */
$(selector).mousedown(function(){
dropndrag = true;
});
$(document).mousemove(function(){
if (dropndrag == true) {
//do mouse move stuff
}
});
$(document).mouseup(function(){
if (dropndrag == true) {
dropndrag = false;
}
});
/* mousemove only bound to document after mousedown */
$(selector).mousedown(function(){
// attach handlers
$(document).mousemove(mousemove);
$(document).mouseup(mouseup);
});
function mousemove(){
// do mouse move stuff;
};
function mouseup() {
//unbind mousemove and mouseup handlers
$(document).off('mousemove', mousemove);
$(document).off('mouseup', mouseup);
}