这两个功能, _.forEach并且$.each,从分别取underscore并jQuery似乎使同样的事情.
偏好一个实现到另一个实现的可能原因是什么?
有什么区别:
$(document).ready(initialize);
Run Code Online (Sandbox Code Playgroud)
和
$(document).on('ready',initialize);
Run Code Online (Sandbox Code Playgroud)
对我来说,他们似乎以同样的方式工作.
我需要找到一种方法来更新用它实现的Web应用程序backbone.
用例如下:
我有几个视图,每个视图,或者与此视图相关的模型/集合,需要在不同的时间向服务器发出不同的轮询请求以发现一些更改.
我想知道最通用的方法是什么:
1)实现Traditional Polling Request
2)实现Long Polling Request
3)实现HTML5 web socket
PS:
1)服务器是用PHP编写的.
2)目前我正在寻找一种不使用HTML5 WebSockets的解决方案,因为使用PHP可能并不那么简单.
这是我的简单代码(1)使用Traditional Polling Request.
(1)
// MyModel
var MyModel = Backbone.View.extend({
urlRoot: 'backendUrl'
});
// MyView
var MyView = Backbone.View.extend({
initialize: function () {
this.model = new MyModel();
this.model.fetch();
this.model.on('change', this.render);
setTimeout(function () {
this.model.fetch();
}, 1000 * 60 * 2); // in order to update the view each two minutes
}
});
Run Code Online (Sandbox Code Playgroud)
有时用户会绑定事件$('body'),有时也会打开事件$(document)
$(document).on('click', someAction);
$('body').on('click', someAction);
Run Code Online (Sandbox Code Playgroud)
有什么理由喜欢彼此吗?
假设我有两个简单的fixture文件,一个用于用户(1),另一个用于消息(2).
消息的骨干模型如下(3).
如果我加载"消息夹具",我想在消息模型中指定有关用户的相关信息.
使用jasmine测试套件在规范视图(4)中激活此目标的正确方法是什么?
有关详细信息,请参阅(4)中的注释.
(1)
// User Fixture
beforeEach(function () {
this.fixtures = _.extend(this.fixtures || {}, {
Users: {
valid: {
status: 'OK',
version: '1.0',
response: {
users: [
{
id: 1,
name: 'olivier'
},
{
id: 2,
name: 'pierre',
},
{
id: 3,
name: 'george'
}
]
}
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
(2)
// Message Fixture
beforeEach(function () {
this.fixtures = _.extend(this.fixtures || {}, {
Messages: {
valid: {
status: 'OK',
version: '1.0',
response: {
messages: [
{ …Run Code Online (Sandbox Code Playgroud) 在javascript(下划线)中,如何测试数字列表是否已经排序?
为了修复循环依赖关系,读取requireJs文档建议exports用于为模块创建一个空对象,该对象可立即供其他模块参考.
我尝试这个代码,但它似乎不起作用.怎么了?
PS:
阅读用于查看输出的注释,
尤其是setTimeout调用中的B模块.
// A module
define([
'b'
], function (b) {
console.log('B:', b); // B, Object
var A = {
boo: 1
};
return A;
});
Run Code Online (Sandbox Code Playgroud)
// B module
define([
'a',
'exports'
], function (a, exports) {
console.log('A:', a); // A, undefined (as I was expecting)
exports.A = function () {
return a;
}
var B = {
bar: 1
};
setTimeout(function () {
console.log('exports.A', exports.A()); // exports.A undefined
// I would like to access …Run Code Online (Sandbox Code Playgroud) javascript circular-dependency dependency-management requirejs
我的完整代码在这里:http://jsfiddle.net/HfNk9/13/
我期待这个例子jqueryUi自动完成 - 自定义数据和显示.
让我们假设对象项目是不同的,它看起来像这样:
project = [
{
name: 'bar',
value: 'foo',
imgage: 'img.png'
}
]
Run Code Online (Sandbox Code Playgroud)
如果我设置source = project自动完成指的是project.value和不project.name.
我该如何改变这种行为?
var autocomplete = function(element, data) {
var fixtures = [
{
avatar: "http://www.placekitten.com/20/20",
name: 'aaaaaaaaa',
value: 'bbbbbbbbb'}
];
element.autocomplete({
minLength: 3,
source: function(request, response) {
var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
response($.grep(fixtures, function(value) {
return matcher.test(value.name);
}));
},
create: function() {
console.log(fixtures)
element.val(fixtures.name);
},
focus: function(event, ui) { …Run Code Online (Sandbox Code Playgroud) 我想自定义使用把手模板由bootstrap-typeahead呈现的项目.查看代码似乎是默认项目<li><a href="#"></a></li>.
我们假设我想使用把手模板来渲染我的项目.
我认为我应该以这种方式重新定义渲染功能(1).
我的问题是:
如何使用bootstrap-typeahead.js v2.1.0`中的(1)?
这是(2)关于我传递给的选项的代码$.fn.typeahead和(3)我的把手/胡子模板.
(1)
var renderItem = function (ul, user) {
// user is the Backbone.Model
return $('<li></li>')
.data('item.autocomplete', user)
.append(autocompleteItemTemplate(user.toJSON()))
.appendTo(ul);
};
Run Code Online (Sandbox Code Playgroud)
(2)
element.typeahead({
minLength: 3,
source: function () {
var users = app.userCollection;
users = _.map(users, function (user) {
return user.get('first_name') + ' ' + user.get('last_name');
});
return users;
}
});
Run Code Online (Sandbox Code Playgroud)
(3)
<a>{{ first_name }} {{ last_name}}</a>
Run Code Online (Sandbox Code Playgroud) javascript autocomplete mustache backbone.js twitter-bootstrap
可能重复:
是否有CSS父选择器?
我能够通过使用隐藏以这种方式看的DOM树.closest().
<div class='parent'>
<!-- some html code -->
<div class='child'>
</div>
<!-- some html code -->
<div>
$('.child').closest('parent').hide();
Run Code Online (Sandbox Code Playgroud)
只使用CSS就可以获得相同的效果?
如果有,怎么样?
javascript ×10
jquery ×5
backbone.js ×3
autocomplete ×1
css ×1
css3 ×1
foreach ×1
jasmine ×1
jquery-ui ×1
long-polling ×1
loops ×1
mustache ×1
polling ×1
requirejs ×1
websocket ×1