【问题标题】:Jquery selectable only with shortcutJquery 只能通过快捷方式选择
【发布时间】:2023-03-11 18:31:01
【问题描述】:

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

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

没有?

【问题讨论】:

    标签: javascript jquery jquery-events jquery-ui-selectable


    【解决方案1】:

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

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

    You can test it out here.

    【讨论】:

      【解决方案2】:

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

          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();
      

      【讨论】:

        【解决方案3】:
        $(window).keydown(function(e){
          if(!e.shiftKey){
             $("#div").selectable({
                start: function(st) {
                st.stopPropagation();
                  //your code here
                });
        
             }
        });
        

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

        【讨论】:

        • shift键是“shiftKey”。我要问的是如何限制用户只能在按住 shift 键时进行选择。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-26
        • 1970-01-01
        相关资源
        最近更新 更多