Tag: underscore.js

jQuery或下划线按span文本排序列表

尝试按照li中的跨度排序ul列表,我有点迷茫。 这是我的HTML代码: aa android aa ios aa facebook bb android bb ios bb facebook 我有一个包含平台名称的数组,不必包含所有平台,并且数组中平台的顺序无关紧要 。 我希望列表按字母顺序排序,然后按照第一个跨度的字母顺序排序。 所以如果我的数组是[“ios”,”android”,”facebook”]我想按字母顺序排列数组中的元素,也可以按照它们的第一个跨度值排序。 所以在对数组进行排序后,我们将得到: aa android bb android aa facebook bb facebook aa ios bb ios 如果数组只是[“ios”] ,则按字母顺序按数组元素排序,然后按字母顺序排序列表的其余部分: aa ios bb ios aa android bb android aa facebook bb facebook 如果数组是[“ios”,”android”]那么“android”将在“ios”之前和之后的“facebook”,因为“facebook”不在数组中: aa android bb android aa ios bb ios aa […]

requirejs:模块名称“下划线”尚未加载上下文

当我刚刚加载我的应用程序时,我总是收到此错误, Error: Module name “underscore” has not been loaded yet for context: _. Use require([]) http://requirejs.org/docs/errors.html#notloaded …,h){c=Error(c+”\nhttp://requirejs.org/docs/errors.html#”+b);c.requireType=b;c.re… require.js (line 8) TypeError: Backbone.Model is undefined var ProjectModel = Backbone.Model.extend({ 但是当我点击浏览器上的刷新按钮时它们就消失了。 有谁知道为什么? 我该如何解决? 这是我的config / main / entry js文件, require.config({ //By default load any module IDs from js/lib baseUrl: ‘js’, paths: { jquery: ‘lib/jquery/jquery-min’, underscore: ‘lib/underscore/underscore-min’, backbone: […]

下划线绑定vs jQuery.proxy vs Native绑定

我在回调中有一些上下文问题。 我用Google搜索并找到了一些选项: 本机绑定 – 旧浏览器不支持 JQuery代理 强调绑定 如果我不必支持旧的浏览器,我肯定会使用本机绑定。 这些人应该注意哪些有显着差异? 这些可以用作呼叫/申请的替代方案吗?

骨干视图嵌套

我在圈子里跑来跑去,似乎在我当前的应用程序实现backbone.js时遗漏了一些东西。 问题是我有一个主AppView,它初始化页面的各种子视图(图形,信息表等)。 我的愿望是能够根据导航时传递的参数标志来更改页面的布局。 我遇到的情况是,子视图引用了在呈现模板后将存在的dom元素,在主AppView初始化过程中无法访问这些元素。 所以主要的问题是如何确保每个事件绑定过程都有适当的dom元素才能正确设置? 如果我在LayoutView中有一个绑定到模型更改的事件,则使用以下代码,将呈现布局,但后续视图无法正确呈现。 我摆弄的一些东西是将所有视图’.el’值设置为html结构中的静态元素。 这会使渲染发生,尽管这似乎脱离了利用’.el’提供的良好作用域能力。 示例代码: //Wrapped in jquery.ready() function… //View Code GraphView = Backbone.View.extend({ // init, model bind, template, supporting functions}); TableView = Backbone.View.extend({ // init, model bind, template, supporting functions}); LayoutView = Backbone.view.extend({ initialize: function() { this.model.bind(‘change:version’, this.render, this); }, templateA = _.template($(‘#main-template’).html()), templateB = _.template($(‘#secondary-template’).html()), render: function() { if […]

如何使用Underscore.jsfilter与对象?

我有一个像这样的对象: > Object > Rett@site.com: Array[100] > pel4@gmail.com: Array[4] > 0 id : 132 selected : true > 1 id : 51 selected : false 等等.. 如何使用下划线_.filter()仅返回选中的项目=== true? 我从来没有必要使用_.filter()进入图层。 就像是 var stuff = _.filter(me.collections, function(item) { return item[0].selected === true; }); 谢谢

IE 11平滑滚动不会触发中间滚动事件

如果我们做一个简单的测试用例如: document.documentElement.addEventListener(‘scroll’, function() { console.log(document.documentElement.scrollTop); }); 然后通过单击轨道或使用PageDown / PageUp使用滚动条滚动,然后我们可以看到在滚动动画结束时我们只获得一个事件。 现在理论上我可以通过模拟滚动事件来修复一些行为。 使用jQuery和Underscore的示例代码: $(function () { var $document = $(document), until = 0; var throttleScroll = _.throttle(function () { $document.scroll(); if (+new Date < until) { setTimeout(throttleScroll, 50); } }, 50); $document.keydown(function (evt) { if (evt.which === 33 || evt.which === 34) { until = +new Date […]

使用underscore.js迭代对象

所以,我正在学习backbone.js,并且正在使用下面的示例在视图中迭代某些模型。 第一个代码段工作,而另一个基于下划线.js的代码不起作用。 为什么? // 1: Working this.collection.each(function(model){ console.log(model.get(“description”)); }); // 2: Not working _.each(this.collection, function(model){ console.log(model.get(“description”)); }); 我做错了什么,因为我自己看不到它?

OSX惯性滚动导致mousewheel.js以最轻微的滚动动作注册多个鼠标滚轮事件

我有一个非常标准的Flexslider实例,我正在努力。 Flexslider与jquery.mousewheel.js插件完美结合,允许幻灯片在鼠标滚轮事件上移动。 但是,Mac OSX和其他人使用“intertia”滚动效果,几乎不可能只向左或向右滚动一张幻灯片。 一般效果是,即使在这些情况下最轻微的滚动运动也会触发多个鼠标滚轮事件,并向左或向右滚动滑块多个图像。 显然,这不可能发生! 我认为解决方案是使用underscore.js – 特别是’去抖’function。 但是,我在JS / jQuery方面相对缺乏经验,无法弄清楚如何实现它。 从下划线的文档: 去抖: _.debounce(function, wait, [immediate]) 创建并返回传递函数的新debounced版本,该函数将推迟执行,直到自上次调用之后经过等待毫秒。 用于实现仅在输入停止到达后才会发生的行为。 例如:呈现Markdown注释的预览,在窗口停止resize后重新计算布局,等等。 对于立即参数传递true会导致去抖动以在前导而不是等待间隔的后沿触发函数。 在防止第二次触发“提交”按钮时意外双击的情况下非常有用。 var lazyLayout = _.debounce(calculateLayout, 300); $(window).resize(lazyLayout); 这是我用来初始化flexslider的代码: // MOUSEWHEEL FIX: function debounceEffect() { // apply debounce to mousewheel here } // Initialize FlexSlider $(window).load(function() { $(‘div.flexslider’).flexslider({ animation:’slide’, controlNav:true, mousewheel:true, pauseOnHover:true, direction:’horizontal’, animationSpeed:500, slideshowSpeed:5000, […]

在嵌套对象中搜索文本(Backbone.js集合作为示例)

我有一个backbone.js集合,我需要在其上进行全文搜索。 我手头的工具如下: Backbone.js,underscore.js,jQuery 对于那些不熟悉骨干的人: 骨干集合只是一个对象。 在集合内部有一个带模型的数组。 每个模型都有一个包含属性的数组。 我必须在每个属性中搜索字符串。 我用的代码是: query = ‘some user input’; query = $.trim(query); query = query.replace(/ /gi, ‘|’); var pattern = new RegExp(query, “i”); // this.collection.forEach is the same as _.each // only it get’s the models from the collection this.collection.forEach(function(model) { var check = true; _.each(model.attributes, function(attr){ if(pattern.test(attr) && check){ […]

在主干/下划线的模板中使用循环

我有一个backbone.js / underscore.js模板,我正在进入一个骨干视图进行渲染。 View传递的模型包含一个对象的数组posts (我在模板中称为post )。 问题 :当我尝试循环遍历数组posts所有元素时,我得到一个错误Uncaught SyntaxError: Unexpected token )并在主干View视图的代码template: _.template( $(‘#tpl_SetView’).html() )引用一行template: _.template( $(‘#tpl_SetView’).html() ) 。 我是否错误地循环,导致此错误? 模板代码 <img src="/” width=240 /> <img src="” width=55 />