2013-04-26 24 views
5

Ho un evento di trascinamento su un'immagine div.set. enter image description hereInterrompi evento di trascinamento durante il clic su un collegamento

quando il mouse verso il basso div l'evento di trascinamento start.for questo includo plugin.i nestable.js vuole fermare evento di trascinamento di div durante clic sui link di div .Sono utilizzando js e file html da collegamento : Nestable

Si prega di dare la soluzione, come posso farlo.

+1

che è la libreria di trascinamento utilizzato funziona? –

risposta

2

è necessario per prevenire la propagazione di evento click dall'elemento di collegamento

Es:

$('#div').on('click', 'a', function(){ 
    return false; 
}) 
+0

in realtà, che non funziona. nè event.stopPropagation() e/o event.preventDefault() –

4

autore non ha un problema con il plugin inseribile. c'è un modo migliore per risolvere il problema del collegamento click che viene inserito nel contenitore affiancabile:

$(".dd a").on("mousedown", function(event) { // mousedown prevent nestable click 
    event.preventDefault(); 
    return false; 
}); 

$(".dd a").on("click", function(event) { // click event 
    event.preventDefault(); 
    window.location = $(this).attr("href"); 
    return false; 
}); 

.dd - default classe contenitore affiancabile, cambiarlo se avete bisogno di

+0

classe dd-nodrag non ha funzionato per me, ma così è stato. Grazie! – trembling

13

Per ignorare la manipolazione al clic, aggiungi la classe "dd-nodrag" all'elemento.

+1

Wow, questo era il droide che stavo cercando. – davmor

0

È possibile disattivare questo utilizzando la classe CSS personalizzata.

.disableDrag{ 
    display: block; 
    margin: 5px 0; 
    padding: 6px 10px 8px 40px; 
    font-size: 15px; 
    color: #333333; 
    text-decoration: none; 
    border: 1px solid #cfcfcf; 
    background: #fbfbfb; 
} 

Utilizzare la classe CSS creata sull'elemento in cui si desidera disabilitare.

esempioJSFiddle

<li class="dd-item"> <div class="disableDrag"><em class="badge pull-right"></em></div> </li> 
0
<div class="dd-handle"> 
ID - Title <a href="#" class="dd-nodrag link_min">Link</a> 

.link_min{ 
    position: absolute; 
    display: inline-block; 
    right: 0px; 
    margin-right: 8px; 
} 
+0

Anche se questo snippet di codice può risolvere la domanda, [compresa una spiegazione] (// meta.stackexchange.com/questions/114762/explaining-encar-code-based-answers) aiuta davvero a migliorare la qualità del tuo post. Ricorda che stai rispondendo alla domanda per i lettori in futuro, e queste persone potrebbero non conoscere le ragioni del tuo suggerimento sul codice. Cerca anche di non affollare il tuo codice con commenti esplicativi, in quanto ciò riduce la leggibilità sia del codice che delle spiegazioni! – FrankerZ

Problemi correlati