0

我想让用户选择何时shift按住键。

$("#div").selectable({
        start: function(st) {
            $(window).keydown(function(e){
                if(!e.shiftKey){
                    st.stopPropagation();
                }
            });
        });

不?

4

3 回答 3

1

.shiftKey您可以通过直接使用事件上的属性来缩短代码以使其更简单(它也存在于mousedown事件中),如下所示:

$("#div").mousedown(function(e){
   if(e.shiftKey) return;
   e.stopImmediatePropagation();
   return false;
}).selectable();

你可以在这里测试一下

于 2010-10-24T11:35:15.483 回答
0
$(window).keydown(function(e){
  if(!e.shiftKey){
     $("#div").selectable({
        start: function(st) {
        st.stopPropagation();
          //your code here
        });

     }
});

如果这不起作用,请尝试使用文档而不是窗口或“正文”

于 2010-10-23T05:29:21.337 回答
0

对于那些需要它或类似东西的人来说,这对我来说效果很好:

    var shift = false;

    $(window).keydown(function(e){
        if(e.shiftKey){
    shift = true;
        }
    })
    .keyup(function(e){
        if(!e.shiftKey){
            shift = false;
        }
    });

    $("#div")
    .mousedown(function(e){
       if(!shift){
         e.stopImmediatePropagation();
         return false;          
       }
    })
    .selectable();
于 2010-10-23T06:06:24.890 回答