我正在制作一些交互式 UI 并使用 jQuery 来调整大小和鼠标事件。
我为所有元素绑定mouseOver
和单击事件,当我获得单击时,我删除了单击侦听器(这样它就不会干扰可调整大小的侦听器)。
这工作正常,现在可以调整所选元素的大小。开始调整大小工作正常,但即使在之后mouseup
,元素调整大小事件也不会结束,它仍然会用鼠标调整大小。
怎么了 ?
东西就在这里。
http://parth.me/builderjs/index.html
主要部分是:
var
inspect = true, // to disable inspect
selected = null; // currently selected event
function clickhandler(e) {
console.log('click');
if (selected != null)return; // if some div is already selected, then return
if (e.which == 3)return; // if it was right click, return
selected = $(e.target); // selected = the element which received the click
inspect = false; // disable inspection
selected.addClass('selected'); // add SELECTED background + border
$(window).unbind('click', clickhandler); // remove the click listener
$('.selected').resizable(); // make the selected element resizable
}
$(window).bind('click', clickhandler); //bind the click event
Esc键必然会取消选择任何选择。