问题 #2393✓ 已解决提出于 2019年11月8日作者 troncoso2 个反应

找出为什么“阻挡:拖拽”事件无法触发

快速解答作者 troncoso2

谢谢你的信息。不过,我的情况就是因为index.html中的这个原因,这个方法没能正常工作: '''html <body ondragstart=“return false;” ondrop=“return false;”> </body> ``` 移除这些属性后,我的问题就解决了。

阅读下方完整回答 ↓

问题

我公司使用 GWT(Google Web Toolkit)来开发一些网页应用。我们有一个独立的GWT组件库用于可重复使用组件。我创建了一个包裹葡萄的组件,效果很好。

但是,当我把这个库导入实际项目,并在屏幕上添加葡萄编辑器时,除了拖块到画布之外,其他都正常工作。深入研究 grapesjs 代码后,我发现没有调用“BlockView::handleDrag()”''。不过,“''BlockView::handleDragStart()'' 确实会被调用。“''BlockView::handleDragEnd()'' 也不会被调用。

有没有什么办法能让拖拽事件停止触发?这是 '''handleDrag()''' 函数中唯一的代码:

“JavaScript handleDrag(ev) { this.em.trigger('block:drag', this.model, ev); },


所以看起来Backbone并没有发布实际的浏览器拖拽事件。

谢谢!

回答(3)

👍 最有帮助troncoso2019年11月12日

谢谢你的信息。不过,我的情况就是因为index.html中的这个原因,这个方法没能正常工作:

'''html

<body ondragstart=“return false;” ondrop=“return false;”> </body> ```

移除这些属性后,我的问题就解决了。

pouyamiralayi2019年11月10日

@Troncoso你能提供小提琴来复现这个吗?

troncoso2019年11月11日

嗯,不太可能。GWT不仅是Java框架,我还在一个GWT项目中让葡萄干活,但另一个项目没有。我想这可能会被关闭,但我希望把它当作问题发出来能给我一些建议。这部分我得自己弄清楚,但我正在寻求一些关于如何排查葡萄事件的帮助。

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

浏览插件分类

直接跳转到市场上的插件分类页面。