我有一个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