Firefox ha questo comportamento fastidioso che consente all'utente di trascinare e rilasciare qualsiasi elemento dell'immagine per impostazione predefinita. Come posso disabilitare in modo pulito questo comportamento predefinito con jQuery?Come disabilitare il drag and drop predefinito di Firefox sul comportamento di tutte le immagini con jQuery?
risposta
Di seguito lo farà in Firefox 3 e versioni successive:
$(document).on("dragstart", function() {
return false;
});
Se si preferisce non per disabilitare tutte le trascina (ad esempio, si potrebbe desiderare di consentire comunque agli utenti di trascinare link al loro barra degli strumenti di collegamento), è potrebbe assicurarsi solo <img>
trascina elemento viene impedito:
$(document).on("dragstart", function(e) {
if (e.target.nodeName.toUpperCase() == "IMG") {
return false;
}
});
Tenete a mente che questo permetterà immagini all'interno di collegamenti per essere trascinati.
Ha bisogno di essere jQuery? Hai solo bisogno di definire una funzione di callback per il tuo evento "salvadanaio" sulle immagini in questione con event.preventDefault()
.
Così il vostro tag di immagine potrebbe essere la seguente:
<img src="myimage.jpg" onmousedown="if (event.preventDefault) event.preventDefault()" />
L'ulteriore if
è necessario perché altrimenti IE genera un errore. Se vuoi questo per tutti i tag immagine, devi solo scorrere i tag img
con jQuery e collegare il gestore di eventi onmousedown.
C'è una bella spiegazione (e l'esempio) in questa pagina: "Disable image dragging in FireFox" e una versione non come ben documentato è qui utilizzando jQuery come riferimento: "Disable Firefox Image Drag"
Se si utilizza un attributo del gestore di eventi, è sufficiente fare 'onmousedown =" return false; "', che funzionerà su tutti i browser. –
Sono felice con la soluzione di Tim Down, perché è molto semplice, ho citato jQuery perché pensavo che sarebbe stato un po 'più complesso. La ringrazio per la risposta. Upvote. – Void
Il preventDefault() è un ottimo suggerimento - ha fatto un lavoro perfetto per me! – BurninLeo
Non mi ricordo la mia fonte, ma il lavoro
<script type="text/javascript">
// register onLoad event with anonymous function
window.onload = function (e) {
var evt = e || window.event,// define event (cross browser)
imgs, // images collection
i; // used in local loop
// if preventDefault exists, then define onmousedown event handlers
if (evt.preventDefault) {
// collect all images on the page
imgs = document.getElementsByTagName('img');
// loop through fetched images
for (i = 0; i < imgs.length; i++) {
// and define onmousedown event handler
imgs[i].onmousedown = disableDragging;
}
}
};
// disable image dragging
function disableDragging(e) {
e.preventDefault();
}
</script>
Riferimento soluzione Tim Giù 's, è possibile ottenere l'equivalente del suo secondo frammento di codice di disabilitazione solo img
trascina durante l'utilizzo di jQuery:
$(document).on("dragstart", "img", function() {
return false;
});
soluzione senza jQuery:
document.addEventListener('dragstart', function (e) {
e.preventDefault();
});
Se Javascript è un requisito opzionale, si può provare con i CSS
.wrapper img {
pointer-events: none;
}
- 1. drag and drop non funziona in Firefox
- 2. JQuery Drag and Drop problemi di posizionamento
- 3. ipad drag and drop
- 4. Come disabilitare il drag and drop in fullcalendar
- 5. Manipolazione barre di scorrimento con jQuery drag and Drop evento
- 6. Drag and drop: jQuery UI o Scriptaculous?
- 7. HTML5 Drag and Drop effectAllowed and dropEffect
- 8. PyQt4 - Drag and Drop
- 9. disable text drag and drop
- 10. drag and drop controlli winform
- 11. jQuery: un caricamento drag-and-drop con multi dropzone
- 12. Drag-and-drop in contentEditable DIV in Firefox
- 13. Semplice codice drag and drop
- 14. Drag & Drop di file in Firefox (v10)
- 15. jstree move, drag and drop
- 16. Funzionalità caricamento immagine javery drag-and-drop
- 17. Drag and Drop di base in iOS
- 18. Python Selenium WebDriver drag-and-drop
- 19. Come realizzare i pannelli di aggancio drag-and-drop?
- 20. Drag and Drop - È possibile ottenere l'URL?
- 21. Perdita di memoria con Swing Drag and Drop
- 22. Drag & Drop con Ember.js
- 23. Drag and drop righe all'interno QTableWidget
- 24. Bug in Delphi VCL Drag and Drop?
- 25. JQuery - Drag n Drop Files - Come ottenere informazioni sul file?
- 26. Drag and drop dal finder a WebView
- 27. NSTableView e drag and drop dal Finder
- 28. Drag and drop + disegno personalizzato su Android
- 29. Drag and drop problemi di posizionamento + aggiornamento dell'id
- 30. Drag and Drop in GWT 2.4
con questa soluzione verranno disabilitati tutti gli eventi dragStart, compresi i collegamenti (per esempio trascinando i tuoi link sulla barra degli indirizzi) –
@moontear: è vero, grazie. Modificato. –
Grazie per la versione aggiornata, è molto utile. – Void