【问题标题】:Access the `draggable` attribute with javascript使用 javascript 访问 `draggable` 属性
【发布时间】:2013-03-26 06:14:31
【问题描述】:

所以问题是:你怎么能做到这一点?我想将draggable 属性更改为"false",这样之前可拖动的元素将失去该属性。

我会给你一个 div,这样你就可以开始:

     <div id="div1"  draggable="true" ondragstart="drag(event) "onDblClick="edit('div1')">
     </div>

【问题讨论】:

    标签: javascript html draggable


    【解决方案1】:
    document.getElementById('div1').setAttribute('draggable', false);
    

    var elem = document.getElementById('div1');
    elem.setAttribute('draggable', false);
    

    如果您希望该属性完全消失,请使用;

    elem.removeAttribute('dragable');
    

    【讨论】:

    • 是的!谢谢你,先生!真的很有用!
    【解决方案2】:

    有很多方法,如果你用jQuery:

        $('#div1').attr('dragabble'); //returns with the value of attribute
        $('#div1').attr('dragabble','false'); //sets the attribute to false
    

    原生 JS:

        document.getElementById('div1').getAttribute('draggable'); //returns the value of attr
        document.getElementById('div1').setAttribute('draggable', 'false'); //set the value of attr
    

    【讨论】:

      【解决方案3】:

      我参加聚会有点晚了,但是我们有什么理由不想写这样的东西吗?

      var el = document.createElement('div');
      el.draggable = false;
      

      似乎对我来说可以很好地应用该属性。

      【讨论】:

        【解决方案4】:

        您可能想使用 jquery-ui 可拖动组件来实现您所需的功能.. 或者如果你的开发环境中有 jquery 库,你可以使用以下代码

        $("#div1").attr('draggable',false);

        或者使用javascript我们可以这样做

        document.getElementById('div1').setAttribute('draggable', 'false');

        【讨论】:

          【解决方案5】:

          将属性draggable 设置为true 后,您通常需要处理dragstart 事件。在原生 JS 中做到这一点:

          elem.addEventListener('dragstart', ev => {
            // dragstart handlings here
            }, false)
          

          【讨论】:

            猜你喜欢
            • 2019-09-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-12-07
            • 2011-11-14
            • 2019-07-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多