【问题标题】:How to avoid focus a div, when it is click and dragged..?当它被点击并拖动时,如何避免聚焦一个div..?
【发布时间】:2016-03-11 06:42:40
【问题描述】:

我想让 div 只关注 onclick。 Draggable 工作得很好,但是当我完成我的拖动选项时,div 得到了关注。而且我还需要在单击 div 时删除 cursor: movecursor: auto 。请帮帮我..

$(function() {
var block = $('#text-block')
block.find('.editable-text').resizable({
    containment: $('#drag-area'),
    handles: {
        nw: block.find('.nw'),
        ne: block.find('.ne'),
        sw: block.find('.sw'),
        se: block.find('.se')
    }, 
    minWidth: 50, minHeight: 18
})
});

$(function() {
$( ".editable-text" ).draggable();
});

我的代码在JSfiddle...!

【问题讨论】:

    标签: javascript jquery html css onclick


    【解决方案1】:

    .editable-text 选择器下的 CSS 中添加以下行

    .editable-text {
        /*your old code*/
        outline:none;
    }
    

    fiddle

    编辑: 防止文本选择 将noselect 类添加到noselect 并在您的 css 文件中写入以下内容

    .noselect {
      -webkit-touch-callout: none; /* iOS Safari */
      -webkit-user-select: none;   /* Chrome/Safari/Opera */
      -khtml-user-select: none;    /* Konqueror */
      -moz-user-select: none;      /* Firefox */
      -ms-user-select: none;       /* IE/Edge */
      user-select: none;           
    

    }

    如果你正在寻找的话,还可以查看 jquery 更改以更改光标

    Fiddle3 updated

    复制这个js代码

      $(function() {
      var block = $('#text-block')
      block.find('.editable-text').resizable({
        containment: $('#drag-area'),
        handles: {
            nw: block.find('.nw'),
            ne: block.find('.ne'),
            sw: block.find('.sw'),
            se: block.find('.se')
        }, 
        minWidth: 50, minHeight: 18
      })
    });
    
    $(function() {
      $( ".editable-text" ).draggable();
    
     $(".editable-text").mousedown(function(e){
        if(e.which == 1) {
          $(this).css({
            'cursor':'move'
          });
                }else{
          $(this).css({
              'cursor':'auto'
            });
        }
     });
    });
    

    【讨论】:

    • 感谢您的回复.. 但我需要在点击结束时不聚焦 div 并拖动完成。您的代码在拖动后将焦点放在要编辑的 div 中。
    • 现在无法拖动,点击时光标也不会改变。
    • 现在检查 fiddle2 更新的链接,我在 jquery 代码中有错误
    • 我在 Fiddle2 中看到的变化没有更新。拖动结束时,它会聚焦到 div 中。 onclick div 后光标没有变化。
    • 现在检查 fiddle 3
    猜你喜欢
    • 2017-11-30
    • 2020-05-04
    • 2021-09-08
    • 2018-12-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 2010-10-20
    相关资源
    最近更新 更多