我试图阻止整个ember应用程序的默认拖放功能。我已经尝试在控制器中使用drop事件和event.preventDefault()
,但我很确定它们仅在组件中可用。我还尝试将ondragstart="return false;" ondragenter="return false;" ondrop="return false;" dragover="return false;" dragleave="return false;"
添加到索引html中的body标签中。处理这个问题的正确方法是什么?
答案 0 :(得分:3)
要防止侦听默认事件,只需将相应的事件定义为null即可。 Reference
let App = Ember.Application.create({
customEvents: {
dragstart: null,
drag: null,
dragenter: null,
dragleave: null,
dragover: null,
drop: null,
dragend: null
}
});
如果您使用的是ember-cli,请在App.js
文件中
App = Ember.Application.extend({
modulePrefix: config.modulePrefix,
podModulePrefix: config.podModulePrefix,
Resolver,
customEvents: {
dragstart: null,
drag: null,
dragenter: null,
dragleave: null,
dragover: null,
drop: null,
dragend: null
}
});
答案 1 :(得分:0)
.no-drag{
-webkit-user-drag: none;
user-drag: none;
-webkit-touch-callout: none;
}
将此类添加到您的代码中。