草庐IT

backbone-events

全部标签

javascript - 事件委托(delegate),Event.target 与 Event.currentTarget

在MDNEvent.targetreference有一个关于实现事件委托(delegate)的例子:事件委托(delegate)示例//Assumingthereisa'list'variablecontaininganinstanceofan//HTMLulelement.functionhide(e){//Unlesslistitemsareseparatedbyamargin,e.targetshouldbe//differentthane.currentTargete.target.style.visibility='hidden';}list.addEventListener

javascript - Event.observe 'change' 事件未在 IE 中触发

我用于更改选择菜单的原型(prototype)事件监听器未在IE中触发。Event.observe('use_billing','change',Checkout.getBillingData);这在Firefox中工作正常(当然),但在IE中没有任何反应(当然)-我已经用谷歌搜索了一段时间,但我没有找到解决这个问题的合适方法。我读到有问题,但我发现没有任何有用的方法来规避这个问题并让它发挥作用。我真的在努力避免使用内联事件触发器,因为它们很突兀,并且会导致文档困惑且容易出错:....任何想法都会很棒-这是阻止该项目从测试版进入生产的唯一因素。 最佳答案

javascript - 如何将Backbone.View绑定(bind)到DOM中类似元素列表中的 'single' DOM元素

我具有以下页面结构:Label1Label2............这是过于简单的View:varMyView=Backbone.View.extend({el:$('.listOfPosts'),initialize:function(){_.bindAll(this,"postClicked");},events:{"click.wcCheckbox":"postClicked"},postClicked:function(){alert("Gotaaclickinthebackbone!");}});问题:我想知道被点击的帖子的数据ID。使用简单的JQuery,我可以执行以下操作

javascript - 如果我使用 _.bindAll(this) 为什么我的 Backbone.View.constructor.__super__ 未定义

我正在继承我自己的Backbone.View。如果,在父类(superclass)的初始化函数中,我写:_.bindAll(这个,'很多','方法');并指定我想绑定(bind)到此上下文的方法,我可以通过以下方式从子类调用super:this.constructor.__super__.initialize.apply(this,arguments);但是,如果在父类(superclass)中,我使用:_.bindAll(this)相反,当我从我的子类调用super时,this.constructor.__super__未定义。为什么会这样? 最佳答案

javascript - 在构造一个集合后让 backbone.js 运行一个函数?

我可能在这里完全遗漏了一些东西,但我有以下内容:封装“所有”数据的模型(从一个URL加载的所有JSON)该模型有一个(或多个)集合,它正在使用构建时获得的数据进行实例化一些我想在数据初始化和加载时在集合上运行的代码我的问题是关于组合集合的。我可以在Collection的范围之外执行此操作,但我宁愿将其封装(否则将其作为带有初始化程序等的“类”有什么意义)。我想我可以将该代码放在initialize()函数中,但是它在填充模型之前运行,所以我无法访问构成集合(this.models为空)。然后我想我可以绑定(bind)一个事件,但是初始化后没有触发任何事件。如果我使用fetch从它自己的

javascript - Backbone.js View 可以有一个模型和一个集合吗?

Backbone.jsView可以有一个Model和一个Collection吗?我问的原因是因为我正在使用一个View,该View包含一张map,上面标有地点(使用传单库)。Collection是一组模型,其中包含要在map上绘制的坐标。Model包含map边界和map形状等内容。不知道还有什么办法可以解决这个问题......感谢任何帮助,谢谢! 最佳答案 是的,您可以像这样简单地传递它:newview({model:m,collection:c});在View中,您可以通过以下方式访问两者:this.modelthis.colle

javascript - Backbone.js - 自定义收集事件

我正在尝试为View绑定(bind)实现自定义集合事件。在我看来,我想做这样的事情:this.collection.on('available',this.available);并以某种方式在我的集合中触发此方法。假设我的集合中有一个方法可以设置特定的模型属性(可用),那么我如何才能触发绑定(bind)到该方法的所有View?这是否可能,并且能够将有问题的模型传递给View进行更新。提前感谢您的帮助,非常感谢:) 最佳答案 向Backbone添加新事件非常简单。您只需在要触发事件的对象上调用trigger方法。例如,假设您在集合的一

javascript - 在 Backbone 中动态更改 url

我试图动态更改路由器内的url,但无法做到,它一直返回到基本CollectionURL。在这里,我发布了包含3个不同集合的代码,除了指向三个不同的url之外,它们的作用完全相同。我只有一个model和三个依赖于该模型的collection,它们甚至呈现相同的View。我如何动态更改url以便我只能创建一个Collection和一个Model?对于这样的案例,这是最佳做法吗?//MODELS&COLLECTIONSwindow.Post=Backbone.Model.extend({urlRoot:function(){return'http://localhost:5000/json/

javascript - Backbone.Marionette.ItemView 渲染后元素未准备好?

即使在Backbone.Marionette.ItemView的onRender方法中,我也无法访问元素。例如,我有:模板:`项目View:View=Backbone.Marionette.ItemView.extendtemplate:searchTemplateonRender:@setTypeahead['a','b','c','d']setTypeahead:(valueArray)->console.log$('#searchBox')$('#searchBox').typeaheadsource:valueArray意外地,记录到控制台的对象不包含输入元素。选择器不起作用。

javascript - Backbone Marionette 和 RequireJS 模块混淆——模块似乎未定义

我刚开始使用Marionette,我正在阅读并关注Marionette-AGentleIntroduction通过DavidSulc.这是一本非常好的读物,很容易理解如何使用companionrepository构建示例应用程序ContactManager.但是,我之前已经使用RequireJS建立了一个项目,想将那本书的思想和概念转化并整合到这个项目中。我实际上还没有走那么远,我想我可能对Marionette模块与AMD模块的结合使用有点困惑,这导致了undefined对象。更具体地说,让我列出app.js,listView.js和listController.js这应该是这个com