12

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

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

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

5 回答 5

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

或者

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

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

elem.removeAttribute('dragable');
于 2013-04-04T08:59:37.150 回答
5

有很多方法,如果你使用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
于 2013-04-04T09:00:48.333 回答
4

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

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

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

于 2018-08-16T16:13:05.883 回答
2

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

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

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

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

于 2013-04-04T09:03:04.770 回答
2

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

elem.addEventListener('dragstart', ev => {
  // dragstart handlings here
  }, false)
于 2017-08-19T18:26:14.493 回答