我有一個html表,它具有drag'n'drop列,可調整大小的行,以及基於mousedown,mousemove和mouseup更改的可調整大小的列。爲了獲得更好的性能,在鼠標移動過程中是否應該讓文檔不斷檢查「鼠標是否關閉,如果是,是否拖放鼠標,可調整大小的行或可調整大小的列」,或者我應該在鼠標移動時將鼠標移動處理程序附加到文檔在一個特定的位置,然後解開它在mouseup?在點擊時綁定和取消綁定處理程序的成本是多少?這裏一直是鼠標按下檢查VS只鼠標按下和鼠標點擊之間檢查文檔的例子:mousedown和mouseup綁定和解除mousedown處理程序
/* 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);
}
我總是喜歡檢查變量,似乎更快! – 2014-09-22 22:59:23