久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

HTML5 拖放 getData() 僅適用于 Chrome 中的拖放事件

HTML5 Drag and Drop getData() only works on drop event in Chrome?(HTML5 拖放 getData() 僅適用于 Chrome 中的拖放事件?)
本文介紹了HTML5 拖放 getData() 僅適用于 Chrome 中的拖放事件?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

限時送ChatGPT賬號..

我目前正在使用 HTML5 拖放 API 開發一個項目,以提供附加功能,包括將項目拖入和拖出瀏覽器.我目前遇到了特定于 Chrome 的問題(否則僅在 Firefox 中測試,可以按預期工作).

I'm currently working on a project at work using the HTML5 Drag and Drop API to provide added functionality including dragging items in and out of browsers. I am currently coming across issues which are specific to Chrome (otherwise only tested in Firefox, which works as expected).

問題是我不能使用 event.dataTransfer.getData(type) 方法在 dragstart 事件之外的任何事件中返回數據集>drop 事件.

The issue is that I cannot use the event.dataTransfer.getData(type) method to return the data set on the dragstart event in any events except the drop event.

在綁定到 dragstart 事件(確實會觸發)之后,我將事件設置為這樣:

I set the event like so, after binding to the dragstart event (which DOES fire):

event.dataTransfer.setData('text/plain', "some string")

然后在 drop 事件中,我可以很好的獲取數據.

Then in the drop event, I can get the data fine.

event.dataTransfer.getData('text/plain')

但是,我不能對任何其他事件(例如 dragover)使用與上述相同的方法.即使我在調用 setData() 后(即在 dragstart 回調中)嘗試使用上面的方法,那么它仍然會返回 undefined.

However I cannot use the same method as above on any other events (such as dragover). Even if I try and use the above method on the line after calling setData() (i.e., in the dragstart callback), then it will still return undefined.

因此,在 Chrome 中,問題在于 Chrome 中的 getData 將始終返回 undefined,除了在 drop 事件回調中.(在 Firefox 中,我可以成功獲取正確的數據.)

So, in Chrome, the issue is that getData in Chrome will always return undefined, except within the drop event callback. (In Firefox, I can successfully get the correct data.)

如果你有對同一個拖動元素的dataTransfer對象的引用,那為什么要等到數據被放掉才能得到數據呢?

If you have the reference to the dataTransfer object of the same dragging element, then why should you not be able to get the data until it is dropped?

只是想知道:

  • 以前有人在使用 Chrome 時遇到過這種問題嗎?
  • 有哪些解決方法?
  • 或者,這是 Chrome 需要修復的問題嗎?

資源:HTML5 拖放規范.

推薦答案

WebKit 和 Chrome 對何時可以調用 getData 有很大的限制.您不能在 dragstart 或 <代碼>dragover.我認為這是典型的錯誤.

WebKit, and hence Chrome, is quite restrictive on when you can call getData. You're not allowed to do it inside dragstart or dragover. I think this is the canonical bug.

這篇關于HTML5 拖放 getData() 僅適用于 Chrome 中的拖放事件?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How can I get my jasmine tests fixtures to load before the javascript considers the document to be quot;readyquot;?(在 javascript 認為文檔“準備好之前,如何讓我的 jasmine 測試裝置加載?) - IT屋-程序員軟件開發技術
What do jasmine runs and waitsFor actually do?(jasmine 運行和等待實際上是做什么的?)
How to provide mock files to change event of lt;input type=#39;file#39;gt; for unit testing(如何提供模擬文件來更改 lt;input type=filegt; 的事件用于單元測試)
How to unit test a chained method using Jasmine(如何使用 Jasmine 對鏈式方法進行單元測試)
How do I inject $rootScope into an AngularJS unit test?(如何將 $rootScope 注入 AngularJS 單元測試?)
Jasmine - How to spy on a function call within a function?(Jasmine - 如何監視函數中的函數調用?)
主站蜘蛛池模板: 国产精品久久久久久久久久久久冷 | 欧美一区二区三区久久精品 | 亚洲一区 | 日本在线免费 | 亚洲免费人成在线视频观看 | 天天干,夜夜操 | 91视频18 | 国产传媒毛片精品视频第一次 | 午夜精品久久久久久久久久久久久 | 国产欧美日韩综合精品一区二区 | 天天操天天插 | av毛片免费 | 日本福利在线 | 七七婷婷婷婷精品国产 | 99精品99久久久久久宅男 | 色欧美综合| 日韩在线播放视频 | 中文字幕国产视频 | 99精品视频在线观看 | 亚洲精品电影网在线观看 | 中文日韩在线 | 欧美高清一区 | 美女毛片| 不卡在线视频 | 中文字幕第49页 | 久久精品小短片 | 久久精品色欧美aⅴ一区二区 | 成人精品鲁一区一区二区 | 天天狠狠 | 亚洲中午字幕 | 亚洲精品白浆高清久久久久久 | 久久这里只有精品首页 | 一级欧美一级日韩片免费观看 | 午夜欧美一区二区三区在线播放 | 黄网站免费在线观看 | 欧美日韩综合一区 | 在线观看黄色大片 | 欧美一区2区三区4区公司二百 | 久久免费高清视频 | 毛片网站在线观看视频 | 亚洲三区在线观看 |