2013-04-04 16 views
5

Quindi la domanda è: come puoi farlo? Voglio modificare l'attributo draggable su "false" in modo che l'elemento precedentemente trascinabile perderà questa proprietà.Accedi all'attributo `draggable` con javascript

io vi darà un div in modo da avere qualcosa da cui partire:

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

risposta

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

O

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

Se si desidera che l'attributo di utilizzo del tutto andato;

elem.removeAttribute('dragable'); 
+0

Sì! Grazie Signore! Davvero utile! – Tbi45

3

ci sono molti modi, se si utilizza 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

Si potrebbe desiderare di utilizzare componenti trascinabili jQuery-ui per acheive ur funzionalità richieste. o se hai una libreria jquery nel tuo ambiente Dev puoi usare il seguente codice

$ ("# div1"). Attr ('trascinabile', falso);

o utilizzando JavaScript possiamo farlo come segue

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

0

Dopo impostare l'attributo draggable a true, è per lo più spesso desidera gestire dragstart evento. Per farlo in JS nativo:

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