2013-04-04 3 views
5

So ist die Frage: Wie können Sie das tun? Ich möchte das draggable Attribut zu "false" ändern, damit das Element, das zuvor ziehbar war, diese Eigenschaft verliert.Zugriff auf das 'ziehbare' Attribut mit Javascript

Ich gebe Ihnen ein div, so dass Sie etwas zu beginnen haben:

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

Antwort

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

ODER

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

Wenn Sie das Attribut völlig verschwunden verwenden möchten;

elem.removeAttribute('dragable'); 
+0

Ja! Danke mein Herr! Sehr nützlich! – Tbi45

3

Es gibt viele Möglichkeiten, wenn Sie verwenden jQuery:

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

Einheimische JS:

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

Sie könnten jquery-ui ziehbar Komponente verwenden möchten ur erforderliche Funktionalität acheive. oder wenn Sie jquery Bibliothek in Ihrer Dev-Umgebung haben, können Sie den folgenden Code

verwenden 210

$ ("# div1"). Attr ('ziehbares', falsch);

oder mit Hilfe von Javascript können wir es tun wie folgt

document.getElementById ('div1') setAttribute ('ziehbar', 'false').

0

gesetzt Nachdem das Attribut draggable auf true, Sie meist wollen oft dragstart Ereignis behandeln. Um dies in nativen JS zu tun:

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