У меня есть панель инструментов с двумя основными видами. Один вид содержит множество зон сброса, а другой содержит элементы, которые являются draggable="true"
. Однако эти зоны сброса не стреляют по drop
событиям, но они стреляют по dragenter
и dragleave
. Почему событие капли не срабатывает?Backbone Drop Событие не работает
Примечание: Шаблон, который визуализируется содержит .item-drop-zone
элементы Div
The View, содержащий рабочие зоны:
Shopperater.Views.ModuleMedleyView = Backbone.View.extend({
tagName: "div",
className: "row",
template: JST['modules/medley'],
initialize: function() {
_.bindAll(this);
},
events: {
'dragenter .item-drop-zone' : 'highlightDropZone',
'dragleave .item-drop-zone' : 'unhighlightDropZone',
'drop .item-drop-zone' : 'dropTest'
},
dropTest: function(e) {
console.log("dropped!")
},
highlightDropZone: function(e) {
e.preventDefault();
$(e.currentTarget).addClass('item-drop-zone-highlight')
},
unhighlightDropZone: function(e) {
$(e.currentTarget).removeClass('item-drop-zone-highlight')
},
render: function() {
this.$el.html(this.template({ }));
return this;
}
});
Попробуйте использовать '' drop .item-drop-zone'', потому что событие 'drop' запускается над элементом, где произошла ошибка в конце операции перетаскивания. – nemesv
Да, я начал с этого, и он все еще не срабатывает. Однако я отредактирую этот вопрос, чтобы отразить ваше предложение. – ac360
Помогает ли [этот ответ] (http://stackoverflow.com/a/14349610/877472)? –