jQuery有一个非常简洁的extend方法,它将2个对象合并为一个.
在jQuery插件创作页面上,他们展示了一个示例如下:
var settings = $.extend({
'location' : 'top',
'background-color' : 'blue'
}, options);
Run Code Online (Sandbox Code Playgroud)
但是,我已经看到很多插件将一个空对象作为第一个参数传递,如下所示:
var settings = $.extend({}, {
'location' : 'top',
'background-color' : 'blue'
}, options);
Run Code Online (Sandbox Code Playgroud)
据我所知,这两个完全相同.唯一的区别是,如果defaults将存储在自己的变量中:
var defaults = {
'location' : 'top',
'background-color' : 'blue'
},
settings = $.extend({}, defaults, options);
Run Code Online (Sandbox Code Playgroud)
这样,您始终可以访问您的默认值,而不会被它们覆盖options.
这是一个问题:为什么这么多插件作者选择将空对象传递给它extend,即使它们没有将默认值存储在变量中?
我错过了什么吗?
标题基本上都说明了一切.
这是一个例子:
#element {
background: url(image.png) no-repeat center center,
linear-gradient(to top, #86a53c, #516520);
}
#element:hover {
background: url(image.png) no-repeat center center,
linear-gradient(to top, #A0C153, #516520);
}
#element:active {
background: url(image.png) no-repeat center center,
linear-gradient(to top, #516520, #A0C153);
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,只有一个背景图像发生了变化 - 另一个背景图像在每个状态中保持不变,但仍然被声明了四次!
那么,是否可以只更改其中一个背景,但保留另一个背景 - 无需一遍又一遍地重新声明它?
我知道其他CSS背景属性(重复,位置等)可以单独设置.这只是一个简单的例子......
我知道资源控制器可以有以下方法
index
show
create
edit
store
update
destroy
Run Code Online (Sandbox Code Playgroud)
现在假设除了资源操作之外,我还需要执行以下操作:
资源控制器对上述功能无用吗?如果编程API,我显然想要索引,显示,编辑,创建,销毁......还有登录,查找,搜索等...
是否可以路由到两种类型的控制器?例如
Route::group(['prefix' => 'api'], function() {
Route::group(['prefix' => 'v1'], function() {
// Resource Controller
Route::resource('posts', 'Api\V1\PostsResourceController');
// Restful Controller
Route::controller('posts', 'Api\V1\PostsController');
});
});
Run Code Online (Sandbox Code Playgroud)
或者我应该忘记资源控制器并使用一个宁静的控制器?
我目前正在Firefox中调试我的网站的下一层,并在我的JavaScript中发现了一个非常奇怪的错误.在Firefox中,是否需要在引用这些函数的任何代码行之上定义函数?这对我来说真的很奇怪.
var myClass = new MyClass(myCallback);
function myCallback() {
// code
}
Run Code Online (Sandbox Code Playgroud)
它抛出了以下错误: Error: myCallback is not defined
var myCallback = function() {
// code
}
var myClass = new MyClass(myCallback);
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:这是正常行为还是其他事情发生了?我的意思是,在将来编码时我是否需要考虑这一点?
请考虑以下代码:
HTML:
<table>
<tr>
<td><img src="http://watduck.jpg.to" /></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
CSS:
table { width: 10% }
img { max-width: 100% }
Run Code Online (Sandbox Code Playgroud)
图像显然应该是窗口宽度的十分之一,这正是除了IE之外的每个浏览器中的图像,它只是回落到原始大小.
但是,考虑一下:
HTML:
<div><img src="http://watduck.jpg.to" /></div>
Run Code Online (Sandbox Code Playgroud)
CSS:
div { width: 10% }
img { max-width: 100% }
Run Code Online (Sandbox Code Playgroud)
IE确实正确,并显示在窗口宽度的第10位.
所以,这里有一个问题:是什么导致了这种行为,以及可以采取什么措施来强制IE遵守表格的宽度?
在IE8和IE9中测试过(不关心IE7及以下版本).
在我的数据库中,我有:
tops 表posts 表tops_has_posts 表.当我在tops桌子上检索顶部时,我还检索了posts与顶部有关的内容.但是,如果我想按特定顺序检索这些帖子怎么办?所以我range在我的数据透视表中添加一个字段,我tops_has_posts尝试使用Eloquent按结果排序,但它不起作用.
我试试这个:
$top->articles()->whereHas('articles', function($q) {
$q->orderBy('range', 'ASC');
})->get()->toArray();
Run Code Online (Sandbox Code Playgroud)
还有这个 :
$top->articles()->orderBy('range', 'ASC')->get()->toArray();
Run Code Online (Sandbox Code Playgroud)
两人都是绝望的尝试.
先感谢您.
通过CKEditor文档阅读,我看到他们可以选择销毁实例CKEDITOR.instances.instanceName.destroy();.但是,如果DOM已更改,并且已删除整个WYSIWYG DOM结构,则Chrome中会出现以下错误:
Uncaught TypeError: Cannot read property 'document' of null
Run Code Online (Sandbox Code Playgroud)
...以及Firefox中的以下内容:
i.contentWindow is null
Run Code Online (Sandbox Code Playgroud)
有什么方法可以解决这个问题吗?
由于我的应用程序的结构方式(通过AJAX加载内容),.destroy()当元素仍在页面上时,我无法调用.
我最近开始使用AngularJS,我想我遇到了一个奇怪的错误.
首先,这里有一些工作代码:
视图:
<body ng-controller="MainCtrl">
<form name="form">
<div ng-repeat="phone in phoneNumbers">
<input ng-model="phone.number" required />
<button ng-click="deleteNumber($index)">Delete Number</button>
</div>
<button ng-click="addNumber()">Add Number</button>
<input type="submit" ng-disabled="form.$invalid" />
</form>
</body>
Run Code Online (Sandbox Code Playgroud)
控制器:
app.controller('MainCtrl', function ( $scope ) {
$scope.phoneNumbers = [{
number: '212-123-4567'
}];
$scope.addNumber = function () {
$scope.phoneNumbers.push({
number: ''
});
};
$scope.deleteNumber = function ( index ) {
$scope.phoneNumbers.splice(index, 1);
};
});
Run Code Online (Sandbox Code Playgroud)
这是Plunkr:工作示例.
我认为代码非常简单:ng-repeat显示每个电话号码,您可以编辑/删除.如果添加了电话号码,则不能为空; 如果有空电话号码,将禁用提交按钮.
当提交按钮位于上方时,会出现问题ng-repeat.如果您添加电话号码,将其留空,然后将其删除,则提交按钮将保持禁用状态:
<body ng-controller="MainCtrl">
<form name="form">
<input type="submit" …Run Code Online (Sandbox Code Playgroud) 从Laravel 5中Laravel 4的照明中,使用HTML和FORM类的正确方法是什么?
在Laravel 4中,我可以这样使用:
{{ Form::open(array('url' => 'foo/bar')) }}
// Anything
{{ Form::close() }}
Run Code Online (Sandbox Code Playgroud)
我可以添加如下输入:
{{ Form::text('username'); }}
{{ Form::text('email', 'example@gmail.com'); }}
{{ Form::password('password'); }}
{{ Form::email($name, $value = null, $attributes = array()); }}
{{ Form::file($name, $attributes = array()); }}
Run Code Online (Sandbox Code Playgroud)
我怎么能在Laravel 5中做同样的事情?
Laravel where与whereLoose方法有什么区别?
文件说:
where():where方法在检查项目值时使用严格比较.使用whereLoose方法使用"松散"比较进行过滤.
whereLoose():该方法与where方法具有相同的签名; 但是,所有值都使用"松散"比较进行比较.
在这种情况下,"松散比较"是什么意思?
javascript ×4
laravel ×4
php ×3
css ×2
html ×2
ajax ×1
angularjs ×1
background ×1
ckeditor ×1
css3 ×1
debugging ×1
eloquent ×1
firefox ×1
fluid-layout ×1
html-table ×1
jquery ×1
laravel-4 ×1
laravel-5.1 ×1
mysql ×1
object ×1
routing ×1
validation ×1
wysiwyg ×1