2013-04-04 5 views
5

Итак, вопрос в следующем: как вы можете это сделать? Я хочу изменить атрибут draggable на "false", поэтому элемент, который был ранее перетаскиваемым, потеряет это свойство.Доступ к атрибуту `draggable` с помощью javascript

Я дам вам DIV, так что вы будете иметь что-то, чтобы начать с:

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

ответ

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

ИЛИ

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

Если вы хотите, чтобы атрибут полностью ушел использование;

elem.removeAttribute('dragable'); 
+0

Да! Спасибо, сэр! Действительно полезно! – Tbi45

3

Существует много способов, если вы используете jQuery:

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

Native JS:

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

Вы можете использовать JQuery-UI перемещаемой компонент для того чтобы достигнуть ур требуемой функциональности. . или если у вас есть библиотека jquery в среде ur Dev, вы можете использовать следующий код:

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

или с помощью Javascript, мы можем сделать это следующим образом

document.getElementById ('div1') SetAttribute ('перетаскиваемым', 'ложь').

0

После установки атрибута draggable в true, вы в основном часто нужно обрабатывать dragstart событие. Для этого в нативном JS:

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