我最近花了很多时间在shell中,我想知道选项卡自动完成是如何工作的.它背后的机制是什么?bash如何知道每个目录的内容?
我正在一个页面上使用多个jquery-ui自动完成小部件,并希望能够单独设置每个小部件的宽度.目前,我这样做:
$($('.ui-autocomplete')[0]).width(150);
$($('.ui-autocomplete')[1]).width(105);
$($('.ui-autocomplete')[2]).width(80);
Run Code Online (Sandbox Code Playgroud)
这不是真正的解决方案,因为用户能够以不同的顺序触发各种自动复合,并且此代码仅根据它们添加到DOM的顺序对它们进行设置.
触发自动完成时,它似乎创建了一个<ul>然后将其置于触发它的输入框下面.不幸的是,我找不到这个生成的任何唯一标识符<ul>来锁定并应用一些CSS.
我的问题与此问题不同,因为我只使用默认的自动完成功能,而不是自动完成组合框.
此外,挖掘自动完成<ul>并将不同的自动完成框宽度与列表中的值匹配也不起作用,因为这些值是动态生成的.
有任何想法吗?
我正在玩HTML5 的attr-data-*属性和相应的javascript 数据集
我正在做很多动态表单处理,所以我最终得到这样的东西:
<input data-feaux="bar" data-fizz="buzz"/>
Run Code Online (Sandbox Code Playgroud)
由于HTMLElement.dataset返回a DOM string map,我唯一可以弄清楚如何将其转换为本机对象的方法是:
var obj = JSON.parse(JSON.stringify(input_el.dataset))
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
编辑:
我为什么要这样做?假设我有很多很多这样的元素.我想循环遍历它们并将它们推入数组以便稍后处理,即
elements = document.querySelectorAll("input")
my_data_array = []
for(var i = 0; i < elements.length; i++) {
my_data_array.push(elements[i].dataset)
}
Run Code Online (Sandbox Code Playgroud)
现在我有一个对象数组,即[{feaux: "bar", fizz:"buzz"}....]我可以使用.
但是,当我没有转换DOM string map为对象时,数组不会被填充(即上面的代码不起作用)
编辑2
仔细观察,它实际上是一个DOM string map,而不是一个object.纠正原始问题中的拼写错误以反映这一点.
我正在用bash编写一个post-commit脚本,我想将消息传递给正在提交的客户端.然而
echo my message >&2
Run Code Online (Sandbox Code Playgroud)
并没有让它回到客户端.甚至可以使用post-commit钩子发回消息吗?
我已经添加了一些简单的inoremap命令来.vimrc帮助完成parens和括号,但我只想让它们应用于php文件.
inoremap ( ()<Esc>i
inoremap { {<CR>}<Esc>ko
inoremap <? <?php ?><Esc><Left>i
Run Code Online (Sandbox Code Playgroud)
如何在我编辑.php文件时将这些命令设置为活动状态?
我有一个Jenkins服务器,内存不足,无法创建本机线程.我已经提升了内存并安装了Monitoring插件.
服务器上有大约150个项目,我一直在观察线程计数整天都在上升.它现在大约是990.我预计当它达到1024,这是线程的用户限制时,Jenkins将再次耗尽内存.
[edit]: I have hit 1016 threads and am now getting the out of memory error
这是Jenkins运行的适当线程数吗?我怎么能告诉Jenkins在完成它们时销毁线程?
所以我正在开发一个骨干应用程序,并尝试使用require.js尽可能多地模块化. 这是我的向导.
我无法获取我的视图总是获取我的收藏.如果我从基本URL(myapp.com/)访问我的应用程序,并转到我的视图路径,则会获取该集合.如果我没有进入视图,而是从中访问它myapp.com/#/campaigns,则不会获取该集合.
这是一些相关的代码.
router.js
define([
'jQuery',
'Underscore',
'Backbone',
'views/home/main',
'views/campaigns/list'
], function($, _, Backbone, mainHomeView, campaignListView ){
var AppRouter = Backbone.Router.extend({
routes: {
// Define some URL routes
'campaigns': 'showCampaigns',
// Default
'*actions': 'defaultAction'
},
showCampaigns: function(){
campaignListView.render();
},
defaultAction: function(actions){
// We have no matching route, lets display the home page
//mainHomeView.render();
}
});
var initialize = function(){
var app_router = new AppRouter;
Backbone.history.start();
};
return {
initialize: initialize
};
});
Run Code Online (Sandbox Code Playgroud)
收藏/ campaigns.js …
我正在将343个对象的集合加载到BackboneCollection它的fetch()方法中.
那些343个对象被模板化为<li>元素.
我希望在页面上显示343个元素,但$('#myapp li').length告诉我只有200个对象.
知道会发生什么吗?
所以我在php中用for循环生成javascript对象数组.我的代码看起来有点像这样:
<script type="text/javascript">
var items = [
<?php foreach($items as $item): ?>
{
"title" : "<?php echo $item->title ?>",
"image" : "<?php echo $item->getImage()?>",
},
<?php endforeach ?>
];
</script>
Run Code Online (Sandbox Code Playgroud)
这段代码不起作用,因为我的javascript数组末尾有一个额外的逗号.是否有一种优雅的方式来处理分隔javascript对象的逗号?
我正在玩CoffeeScript,我遇到了一个非常令人沮丧的错误.我有一个集合(我从ajax调用填充 - 不是fetch()- 因为我需要调整返回的JSON)
这是集合
$ ->
class AppName.Members extends Backbone.Collection
model: AppName.Member
Run Code Online (Sandbox Code Playgroud)
和模型
$ ->
class AppName.Member extends Backbone.Model
Run Code Online (Sandbox Code Playgroud)
很简单吧?最终我将构建这些以获取非填充数据,但现在就是这样.而现在我的观点
$ ->
class AppName.TitleView extends Backbone.View
template: JST['templates/title']
initialize: ->
@bind(@collection, 'add', @addOne);
@bind(@collection, 'reset', @addAll);
@bind(@collection, 'all', @render);
$.ajax
dataType: 'json'
url: '/housemembers'
success: (data, textStatus, jqXHR) ->
for member in data.results[0].members
model =
state : member.state
first_name : member.first_name
middle_name : member.middle_name
last_name : member.last_name
next_election : member.next_election
party : member.party
AppName.Members.add …Run Code Online (Sandbox Code Playgroud) 好的,所以我在使用Coffeescript和Backbone进行事件绑定时遇到了一些困难.我有一种感觉,它与我如何初始化一切有关; 我觉得事件授权甚至没有被运行.
这是我的观看代码:
$ ->
class AppName.TitleView extends Backbone.View
template: JST['templates/title']
collection: new AppName.Members
events:
"keypress #search" : "search",
initialize: =>
$('#search').keypress(@search) #doing it manually as a hack
search: ->
console.log('search handler call')
render: =>
$('#app').html(@template)
@delegateEvents() #this doesn't seem to do anything, nor does @delegateEvents(@events)
@
Run Code Online (Sandbox Code Playgroud)
在编译时,它看起来像这样:
(function() {
var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
__hasProp = Object.prototype.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] …Run Code Online (Sandbox Code Playgroud) 我从工作和家庭的终端做了很多开发.保持我的所有.bashrc,.vimrc,.screenrc,Irssi配置和脚本等在多台机器上同步的好方法是什么?
我想在我的.bash_login中设置一个钩子进入一个ssh到一个中央存储库并rsync一切,但是有更好的方法吗?
backbone.js ×4
bash ×3
coffeescript ×2
javascript ×2
jquery ×2
php ×2
autocomplete ×1
css ×1
data-binding ×1
foreach ×1
html ×1
html5 ×1
jenkins ×1
jquery-ui ×1
shell ×1
stderr ×1
svn ×1
sync ×1
vim ×1