首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >zombie.js browser.fire不与Backbone.Events一起使用

zombie.js browser.fire不与Backbone.Events一起使用
EN

Stack Overflow用户
提问于 2011-10-02 11:16:55
回答 1查看 1.1K关注 0票数 4

browser.fire方法似乎不会触发通过Backbone.Events附加的事件处理程序。(它适用于其他情况,例如单击锚定标签/按钮)

有关documentClouds站点https://gist.github.com/1256944的测试用例,请参阅以下要点

如果你转到url的第一件事就是点击‘打开’按钮,你会得到一个警告,而且'overlay‘类也会被添加到body元素中--这就是我要检查的。

您可以从测试中看到,当使用browser.fire 'click‘时,不会显示提示,也看不到overlay类。

然而,当使用jQuery的click()方法(通过browser.evaluate)触发点击事件时,就会看到overlay类...

EN

回答 1

Stack Overflow用户

发布于 2012-08-08 01:11:14

在您的backbone视图中,您应该添加el属性。指定事件应绑定到的元素。例如:

代码语言:javascript
复制
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());
  }

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7624386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档