簡體   English   中英

防止拖放(拖放到任何地方)

[英]Prevent drag & drop (it's dropping anywhere)

我正在使用這個AngularJS拖放庫 ,文檔令人困惑,而且已經過時了,但是效果是,即使沒有地方放它,它也總是會掉落。

最初我不了解的一件事是ondragover內的event.preventDefault()是允許刪除的方式(有點偏離您的預期)。 因此,我搜索諸如“如何防止拖放”之類的短語。

無論如何,問題出在Aha,這是庫的問題,它似乎有一些代碼行可以處理不再發生的舊情況。 因此,從技術上講,它實際上並沒有刪除,但是無論如何它都調用onDropSuccess函數。

這個問題onDropSuccess總是會在IE中觸發,而Windows上的Firefox會總結該問題,而我所使用的修復方法是從function determineEffectAllowed (e) defineEffectAllowed function determineEffectAllowed (e)刪除這些行:

if (e.dataTransfer && e.dataTransfer.dropEffect === 'none') {
  if (e.dataTransfer.effectAllowed === 'copy' ||
    e.dataTransfer.effectAllowed === 'move') {
    e.dataTransfer.dropEffect = e.dataTransfer.effectAllowed
  } else if (e.dataTransfer.effectAllowed === 'copyMove' || e.dataTransfer.effectAllowed === 'copymove') {
    e.dataTransfer.dropEffect = e.ctrlKey ? 'copy' : 'move'
  }
}

所以它看起來像這樣:

function determineEffectAllowed (e) {
  if (e.originalEvent) {
    e.dataTransfer = e.originalEvent.dataTransfer
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM