尝试构建一些代码以突出显示表格中的记录,方法是按住shift键开始选择,然后单击鼠标左键(如果你是右手)点击结束选择。
我已经使用了一个全局变量来停止mousedown事件中的选择,并且代码仅在按下shift键一次并立即释放时才有效。但是,如果按住shift键并在选择结束时释放,则会在再次单击鼠标按钮时产生副作用。 (即按下一个ok,按住引入副作用)
我有绑定代码(不确定这里的术语绑定是否正确)keydown事件,而不是如何在另一个事件中取消绑定/删除它 - mousedown。
var C_MARKER_INIT_VAL = "_INIT_";
var C_MAIN_MOUSE_BUTTON = 1; // i.e. left button for the right handed person
$(document).keydown(function(e) {
if (e.shiftKey) {
gBeginMarker = $("*:focus").attr('id');
}
});
我尝试在mousedown事件中将其删除,如下所示:
$(document).mousedown(function(event) {
if (event.which===C_MAIN_MOUSE_BUTTON && gBeginMarker && gBeginMarker != C_MARKER_INIT_VAL) {
var e = event || window.event;
// do some stuff
// Re-initialize global variable to prevent this code block from firing again
gBeginMarker = C_MARKER_INIT_VAL;
}
});
按一次按键和按住按键(比如几秒钟)有什么区别?
点击鼠标后,删除移除键事件的任何帮助