#javascript #jquery #html #backbone.js #qunit
#javascript #jquery #HTML #backbone.js #qunit
Вопрос:
Я хочу протестировать перетаскивание html 5, которое, как я думал, будет работать:
Из тестового файла
var event = new Event('drop',{
'originalEvent':{
'dataTransfer':{
'getData': function(){
return 'tr#0.sprint'
}
}
},
stopPropagation': function() {return;}
}
$('tr#0.sprint').trigger(event);
Это делается для того, чтобы событие запускалось, и все функции были настроены на возврат того, что я хочу протестировать.
актуальный скрипт:
Backbone framework
myView = Backbone.View.extend({
...
drop : function(event)
{
event.stopPropagation();
var data = event.originalEvent.dataTransfer.getData('element');
// some code
},
...
};
К сожалению, эта ошибка связана с Illigal function call
Если я удаляю dataTransfer
объект и пытаюсь установить его самостоятельно, я получаю неопределенную ошибку
Ответ №1:
Если вы установите его немного по-другому, это будет иметь огромное значение:
var event = new Event('drop',{
stopPropagation: function() {return;}
});
event['originalEvent'] ={
'dataTransfer':{
'getData': function(){
return 'tr#0.sprint'
}
}
};
$('tr#0.sprint').trigger(event);
Это более «ручной» способ настройки атрибутов объекта javascript. Аргументы, добавленные в конструктор события, проверяются конструкцией объекта event.