Tag: backbone.js

未捕获的SyntaxError:无法在’Document’上执行’querySelector’

‘ok’ 我使用上面的代码在jquery里面生成每个函数的按钮。动态创建按钮,当我点击按钮时,它应该显示按钮上的进度。 我正在使用这款Ladda Button Loader 。 btnDeactivateKeyInChildPremiumCustomerClick : function(event){ var id = event.currentTarget.id; var btnProgress = Ladda.create(document.querySelector(‘#’+id)); //btnProgress.start(); or //btnProgress.stop(); } 然后我通过按钮事件处理程序捕获事件处理上面的函数。在该函数中它将创建一个btnProgress对象。 之后我可以调用start()或stop()函数。我已成功处理了只有一个按钮的情况,而没有在每个按钮内动态创建按钮。 但是在每种情况下,它在执行var btnProgress = Ladda.create(document.querySelector(’#’+ id))时会显示一些错误; 错误 Uncaught SyntaxError: Failed to execute ‘querySelector’ on ‘Document’: ‘#22’ is not a valid selector.

如何使用backbone.js保存集合

我有一个类别的层次结构。 我为层次结构使用了一个jquery库,以便按照用户想要的方式混淆。 然后他们点击保存。 因此,要保存的初始层次结构和层次结构可能完全不同。 层次结构表示为集合,我使用parentIds使用ol和li标记构建树。 当用户单击“保存”时,我需要使用新的parentId更新集合中的所有项目,并将每个项目与服务器同步。 我想知道是否有人对如何继续这里有任何建议。 我在Backbone.sync的文档中看到过”使用setTimeout批量快速更新到单个请求中。”所以,如果我理解正确,我会将每个调用排队到Backbone.sync然后使用几秒钟后,setTimeout将我的队列发送到服务器? 另外,如果我重写Backbone.sync,我是否仍然需要一个’save’方法,用于解析响应的json的集合(服务器响应必须发回一个对象列表),然后调用模型.set集合中的每个项目? 有人有任何示例代码吗? 谢谢!

如何在骨干中的动态生成按钮上绑定事件?

如何在backbone.js中的动态生成按钮上绑定click事件? window.PackageView = Backbone.View.extend({ tagName: “div”, className: “package-template”, events:{ ‘click #display-nodes’ : ‘main’, // This button is declared in my HTML code and calls main method successfully. ‘click .display’ : ‘disp’, // This is dynamic button generated with class as display }, getAction: function(nodeId){ // Get Actions from NodeId and generate buttons $(‘.nodes’).append(“” + action.Name […]

backbone.js和跨域脚本

我想使用backbone.js和jquery。 该应用程序应该在手机上脱机运行(即“localhost”),在互联网的某个地方的服务器端后端几乎没有呼叫。 使用backbone.js实现跨域请求的最佳方法是什么? 我想使用JSON,但如果有必要,我最终可以切换回REST。 到目前为止,这是我不太令人印象深刻的代码: App.Collections.Events = Backbone.Collection.extend({ model: Event, url: ‘http://mydomain.com/api/getevents/user_id/1/’ });

Backbone js:如何删除视图中的额外标签?

我有以下模板: …. 以及以下观点: var TestView = Backbone.View.extend({ tagName: “div”, template: $(“#tests_template”), initialize: function () { _.bindAll(this, ‘clickbtn’); }, events: { “click .btn”: “clickbtn” }, render: function () { …. { }); 问题是,它产生以下输出: … 我如何摆脱外部div? 我尝试从视图中删除tagName属性,但它仍然放一个div?

向dom添加大量img元素时出现net :: ERR_INSUFFICIENT_RESOURCES错误

我在一个图像很重的网站上使用jquery和backbone.js。 该网站的核心function涉及许多相当小的图像(150x180px jpg文件)。 图像列表通过ajax / json使用backbone.js集合提取。 然后,对于集合中的每个模型,都会有一个包含img元素的渲染视图。 然后将视图添加到dom中。 特别是有一个用户拥有数千个图像 – 相对于大多数普通用户拥有的图像数量而言,这是一个超级边缘的情况。 加载此用户的图像数据时,浏览器无法处理加载所有图像,至少在我们当前代码的工作方式。 大约一半的图像最终加载正常,但浏览器(我使用的是chrome 35)在几分钟内没有响应。 另一半图像无法加载,浏览器控制台显示未加载图像的“net :: ERR_INSUFFICIENT_RESOURCES”错误。 这是加载图像的代码的基本部分。 任何人都可以从技术上解释为什么会发生这种图像加载失败,并提供一个解决方案,不涉及添加分页或“点击她加载更多”function到图像列表? // inside the view that renders the images render: function () { this.collection.each(this.addOne, this); return this; }, addOne: function (imgModel) { var imgView = new App.Views.ImageView({ model: imgModel}); this.$el.append(imgView.render().el); } 以及App.View.ImageView视图的render()代码: render: function () { var […]

使用$ .html()时如何提高渲染性能

我正在开发一个显示推文列表的Backbone 演示应用程序 。 当我用不同的数据替换所有“推文”时,我使用$.html()清除列表 render: function() { $(“#item-table”).html(”); this.collection.each(this.addItem); } 我想知道是否有人可以给我一个提示,我可以替换这个$.html()以获得更好的性能,因为使用$.html()我会导致回流,并且会给出错误的布局处理时间。 代码中还有另外两个地方,我使用$.html() ,如果有人可以给我建议如果那些其他地方甚至是可能的话也会改变它们,这真的很棒。

用$(函数等)启动javascript代码

我正在研究Backbone和来自http://todomvc.com/的todo示例应用程序。我注意到有三种方法可以在文件中启动代码: $(function() { // code here }); $(function( $ ) { // code here }); (function() { // code here }()); 我不明白这些差异,何时应该使用另一个。 我也看到一些人使用它来启动他们的代码: $(document).ready(function(){ // code here }); 从我所看到的,这是完整的写作方式吗? 以更一般的方式,我是否应该始终将我的javascript代码包含在每个文件中的类似内容中? 谢谢你的建议。

Backbone.js事件绑定

我正在使用Backbone.js为每个模型的视图都有一个分段控件类型的UI元素。 它们各自由具有少量li元素的ul组成。 我想绑定一个事件,以便在单击其中一个元素时,我可以确定单击了哪个元素并使用适当的值更新模型。 问题是Backbone绑定事件(这些是在视图的事件哈希中),这样回调函数中的“this”指的是视图,而不是li元素。 这意味着我无法确定单击了哪些li元素。 如果我使用普通的jQuery绑定,我可以将“this”绑定到li元素,但是我不再跟踪模型了,所以我无法更新它。

在骨干中从一个视图向另一个视图发射事件

我有一个主视图,在主视图内部,我有另一个视图,当我单击一个按钮时,它会被创建。 有没有办法在父视图上侦听从子视图触发的事件的自定义事件。 我试图通过使用jQuery触发器的el属性来完成它,但这并不是很有效。