防止在ember应用程序中拖放默认值

时间:2016-12-07 16:13:09

标签: javascript ember.js

我试图阻止整个ember应用程序的默认拖放功能。我已经尝试在控制器中使用drop事件和event.preventDefault(),但我很确定它们仅在组件中可用。我还尝试将ondragstart="return false;" ondragenter="return false;" ondrop="return false;" dragover="return false;" dragleave="return false;"添加到索引html中的body标签中。处理这个问题的正确方法是什么?

2 个答案:

答案 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;
}

将此类添加到您的代码中。