簡體   English   中英

如何在qunit中測試html5拖放

[英]How to test a html5 drag and drop in qunit

我想測試一個html 5拖放我會工作的東西:

從測試文件

var event = new Event('drop',{
    'originalEvent':{
        'dataTransfer':{
            'getData': function(){
                return 'tr#0.sprint'
             }
         }
     },
     stopPropagation': function() {return;}
}
$('tr#0.sprint').trigger(event);

這樣就可以觸發事件並將所有功能設置為返回我想要測試的內容。

實際腳本:

骨干框架

myView = Backbone.View.extend({

    ...

    drop : function(event)
    {
        event.stopPropagation();
        var data = event.originalEvent.dataTransfer.getData('element');

        // some code

    },

    ...

};

遺憾的是這個錯誤是Illigal function call

如果我刪除dataTransfer對象並嘗試自己設置它我得到一個未定義的錯誤

如果你把它設置得有點不同,那就會讓世界變得與眾不同:

var event = new Event('drop',{
     stopPropagation: function() {return;}
});
event['originalEvent'] ={
    'dataTransfer':{
        'getData': function(){
            return 'tr#0.sprint'
        }
    }
};
$('tr#0.sprint').trigger(event);

這是一種設置javascript對象屬性的更“手動”方式。 添加到事件構造函數的參數由事件對象的構造進行檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM