browser.fire方法似乎不会触发通过Backbone.Events附加的事件处理程序。(它适用于其他情况,例如单击锚定标签/按钮)
有关documentClouds站点https://gist.github.com/1256944的测试用例,请参阅以下要点
如果你转到url的第一件事就是点击‘打开’按钮,你会得到一个警告,而且'overlay‘类也会被添加到body元素中--这就是我要检查的。
您可以从测试中看到,当使用browser.fire 'click‘时,不会显示提示,也看不到overlay类。
然而,当使用jQuery的click()方法(通过browser.evaluate)触发点击事件时,就会看到overlay类...
发布于 2012-08-08 01:11:14
在您的backbone视图中,您应该添加el属性。指定事件应绑定到的元素。例如:
dc.ui.Toolbar = Backbone.View.extend({
id : 'toolbar',
el : "body",
events : {
'click #open_viewers' : '_clickOpenViewers',
'click #size_toggle' : '_toggleSize'
},
_clickOpenViewers : function() {
this.openViewers();
},
openViewers : function(checkEdit, suffix, afterLoad) {
if (!Documents.selectedCount) return dc.ui.Dialog.alert('Please select a document to open.');
var continuation = function(docs) {
_.each(docs, function(doc){
var win = doc.openAppropriateVersion(suffix);
if (afterLoad) {
win.DV || (win.DV = {});
win.DV.afterLoad = afterLoad;
}
});
};
checkEdit ? this.edit(continuation) : continuation(Documents.selected());
}
});https://stackoverflow.com/questions/7624386
复制相似问题