小编Tha*_*ers的帖子

在Backbone.js中,为什么静默更改最终会触发更改事件?

当我{"silent":true}在Backbone模型中设置属性时通过时,为什么不仅仅抑制change:attribute事件?下次更改属性时触发该事件的优点是什么?

更新

Backbone 0.9.10改变了传递的行为{ "silent": true }.来自更改日志:

传递{silent:true}变化将不再拖延个人"变化:attr"事件,而是完全沉默.

此处浏览更改日志

backbone.js backbone-events backbone-model

26
推荐指数
1
解决办法
2万
查看次数

将多个属性更改绑定到Backbone.js模型的正确方法

我有以下代码,我将更改绑定到单个属性"attribute_1".

var Mine = Backbone.Model.extend({
  initialize: function() {
    this.bind("change:attribute_1", function() {
      console.log('changed!');
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

如何绑定两个属性?这不起作用:

var Mine = Backbone.Model.extend({
  initialize: function() {
    this.bind("change:attribute_1, change:attribute_2", function() {
      console.log('changed!');
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

这也不是:

var Mine = Backbone.Model.extend({
  initialize: function() {
    this.bind("change:attribute_1 change:attribute_2", function() {
      console.log('changed!');
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

javascript backbone.js backbone-events backbone-model

23
推荐指数
2
解决办法
2万
查看次数

如何使用jquery创建这些嵌套的dom元素?

给出这些javascript变量:

var div_id = "my_div";
var h1_class = "my_header";
var a_class = "my_a_class";
var a_string = "teststring";
Run Code Online (Sandbox Code Playgroud)

和这个页面元素:

<div id="container"></div>
Run Code Online (Sandbox Code Playgroud)

我想用jQuery构建这个html结构:

<div id="container">
    <div id="my_div">
        <h1 class="my_header">
            <a href="/test/" class="my_a_class">teststring</a>
        </h1>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在这里链接命令的最佳和最可读的方法是什么?

html jquery dom nested

20
推荐指数
3
解决办法
2万
查看次数

引导程序中的类clearfix问题

我正在使用twitter bootstrap,我clearfix在bootstrap中遇到类问题.我的HTML是:

<div class="pull-left">This is a text</div>
<hr class="clearfix" />
Run Code Online (Sandbox Code Playgroud)

我期待的是水平线应该出现在显示文本的下一行,但它会在文本的右侧呈现.而如果当我使用style='clear: both;'hr不是它工作正常.为什么clearfix不这样做clear: both呢?

javascript css clearfix twitter-bootstrap

16
推荐指数
2
解决办法
4万
查看次数

使用jQuery.ajax请求和jsonp进行基本身份验证

我有一些本地html/js文件,我想通过https调用一些远程服务器,并最终使用基本身份验证的请求.

我遇到两个问题.首先,如果我没有为dataType指定'jsonp',jQuery.ajax()请求将返回错误:

访问受限制的URI拒绝代码:1012

我的请求是否被视为跨域,因为我的主要工作文件存储在本地,但是从其他地方的服务器检索数据?

很好,我更新了呼叫,现在它看起来像:

$.ajax({ 
     url: myServerUrl,
     type: "GET", 
     dataType: "jsonp", // considered a cross domain Ajax request if not specified
     username: myUsername,
     password: myPassword,

     success: function(result)
     {
        // success handling
     },
     error: function(req, status, errThrown){
         // error handling
     }
})
Run Code Online (Sandbox Code Playgroud)

因为我需要使用基本身份验证,我传递用户名/密码,但如果我监视请求,我看不到它被设置,此外,服务器发送错误响应,因为它没有预期的信息.

另外,因为我已经jsonp设置,所以beforeSend不会被调用.

如何使用基本身份验证为此请求传递凭据?

javascript jquery jsonp basic-authentication

15
推荐指数
2
解决办法
1万
查看次数

使用backbone.js更新已更改的属性

所以我正在设置一个具有更新属性的模型.

然后在我看来我正在听这个模型的变化事件.

当那个火我想我应该使用model.changedAttributes?我是否通过回调?

它应该返回所有已更新或新的属性的哈希值?反正知道哪些是更新的,哪些是新的?

一旦我有更改属性的哈希,我该如何进行更新?将对象解析为属性类型,还是应该从get go中使用更高分辨率的侦听器?

谢谢!

javascript backbone.js backbone-model

15
推荐指数
1
解决办法
2万
查看次数

如何使用骨干提取进行同步调用

我需要用同步调用调用fetch,我知道jquery ajax我可以使用我可以{async: false} 通过这个选项来获取函数吗?

ajax jquery synchronous backbone.js

14
推荐指数
2
解决办法
1万
查看次数

backbone.js事件和el

好的,所以我已经阅读了几个关于Backbone视图和未被触发的事件的其他问题,但是我仍然没有忘记它.我一直在乱用Backbone大约一天,所以我肯定我错过了一些基本的东西.这是我正在使用的jsfiddle:http: //jsfiddle.net/siyegen/e7sNN/3/

(function($) {

    var GridView = Backbone.View.extend({
        tagName: 'div',
        className: 'grid-view',
        initialize: function() {
            _.bindAll(this, 'render', 'okay');
        },
        events: {
            'click .grid-view': 'okay'
        },
        okay: function() {
            alert('moo');
        },
        render: function() {
            $(this.el).text('Some Cow');
            return this;
        }
    });

    var AppView = Backbone.View.extend({
        el: $('body'),
        initialize: function() {
            _.bindAll(this, 'render', 'buildGrid');
            this.render();
        },
        events: {
            'click button#buildGrid': 'buildGrid'
        },
        render: function() {
            $(this.el).append($('<div>').addClass('gridApp'));
            $(this.el).append('<button id="buildGrid">Build</button>');
        },
        buildGrid: function() {
            var gridView = new GridView();
            this.$('.gridApp').html(gridView.render().el);
        }

    });

    var …
Run Code Online (Sandbox Code Playgroud)

javascript events backbone.js backbone-events

12
推荐指数
1
解决办法
1万
查看次数

Backbone 1.0版本中的{silent:true}

我正在将我的骨干版本从0.9.2更新到1.0但我遇到了一个问题.

模型未正确更新.它有延迟.以前我的代码完美无缺:

this.model({ attrib: true},{silent:true});
Run Code Online (Sandbox Code Playgroud)

但更新后我删除了{silent:true},一切都很完美.模型正确更新.

我在Backbonejs.org上读过类似的东西

在变化时传递{silent:true}将不再延迟个别"change:attr"事件,而是完全沉默.

我完全不明白这个陈述的含义.

backbone.js backbone-events backbone-model

12
推荐指数
1
解决办法
2万
查看次数

Javascript将项添加到当前数组

我正在尝试将项添加到当前数组.

var arrayValues = new Array();
arrayValues.push("Value 1");
arrayValues.push("Value 2");
arrayValues = document.getElementsByTagName('a');
arrayValues.push("Value 3");
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我得到一个错误,我得到超值集合,当我尝试添加它抛出的新项目后,我得到值1和值2错误:对象不支持此属性或方法,这是推送方法.

收集超链接后,数组发生了什么?如何添加新项目?

javascript arrays array-push

11
推荐指数
1
解决办法
3万
查看次数