首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Drop事件未一致触发

Drop事件未一致触发
EN

Stack Overflow用户
提问于 2011-07-28 14:26:47
回答 2查看 587关注 0票数 0

使用HTML5拖放工具。我的代码看起来像这样:

代码语言:javascript
运行
复制
setupDragDrop: ->
  @currentDoc = tinyMCE.activeEditor.getDoc()
  @currentBody = $(@currentDoc).find('body')
  @drag_div = $(JST.drag_message());

  tinyMCE.dom.Event.add(@currentDoc, 'dragover', @dragStarted)
  tinyMCE.dom.Event.add(@currentDoc, 'drop', @dragEnded)

dragStarted: (event) ->
  @setDropArea() unless @dragInProgress
  event.stopPropagation()
  event.preventDefault()

dragEnded: (event) ->
  event.stopPropagation()
  event.preventDefault()
  files = event.dataTransfer.files
  @resetDropStyle()
  @uploadSelectedFiles(files)

我取消了dragover事件,文件上传对大多数东西都有效,事件照常被触发。但是对于像这样的东西,跳过图像拖动-没有drop事件触发。如果你是Mac用户,Skitch是一个图像编辑工具,可以让你从编辑器中删除内容。

但是Skitch的拖拽同样适用于Gmail,所以我想我在这里遗漏了一些东西。

EN

回答 2

Stack Overflow用户

发布于 2011-07-28 21:27:46

我不知道发生了什么,但你可能想尝试使用Gmail bookmarklet来查看visual event到底绑定了哪些事件到你正在拖放图片的目标上。

票数 0
EN

Stack Overflow用户

发布于 2011-08-09 01:19:54

由于您只显示了代码的一小部分,我将指出您可能会遇到问题的地方,但您需要更详细地检查它们。除了将CoffeeScript编译成纯javascript之外,我对它并不太熟悉,所以这只是一种猜测。

@setDropArea() unless @dragInProgress:假设drop从不触发,放置区域是否设置正确?当@dragInProgress为真时,unless似乎会将@setDropArea()设置为never set。

dragStarteddragEnded中,添加一些console.log注释以查看哪些方法正在触发以及何时触发。这可能不是它没有启动,而是它在错误的时间启动。

最后,看看这里:http://strd6.com/2011/01/jquery-drag-image-from-desktop-plugin/这似乎是你想要做的(或者至少是类似的),可能会给你一些提示,告诉你哪里做错了。

祝你好运!如果你从这些事情中得到了一些结果,请发表评论,我会看看是否可以进一步缩小范围。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6854855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档