Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript/jquery中的lambda包装器——为什么?_Javascript_Jquery_Lambda - Fatal编程技术网

javascript/jquery中的lambda包装器——为什么?

javascript/jquery中的lambda包装器——为什么?,javascript,jquery,lambda,Javascript,Jquery,Lambda,以下代码与代码片段之间的功能区别是什么(如果有什么区别的话),为什么会选择其中一个 这: $(文档).delegate('.ResponseCell',mouseover mouseleave',函数(e){ 如果(e.type=='mouseover'){ $(this.addClass('hover'); $(this).closest('td').addClass('hover'); }否则{ $(this).closest('table').find('tr,td,a').remove

以下代码与代码片段之间的功能区别是什么(如果有什么区别的话),为什么会选择其中一个

这:


$(文档).delegate('.ResponseCell',mouseover mouseleave',函数(e){
如果(e.type=='mouseover'){
$(this.addClass('hover');
$(this).closest('td').addClass('hover');
}否则{
$(this).closest('table').find('tr,td,a').removeClass('hover');
}
});
});

诗句如下:

<script type="text/javascript">
$(function () {
    $(Document).delegate('.ResponseCell', 'mouseover mouseleave', function (e) {
        if (e.type == 'mouseover') {
            $(this).addClass('hover');
            $(this).closest('td').addClass('hover');
        } else {
            $(this).closest('table').find('tr, td, a').removeClass('hover');
        }
    });
});
$(function () {
    $(document).ajaxError(function (e, xhr) {
        if (xhr.status == 401) {
            window.location.reload();
        }
    });
});

$(函数(){
$(文档).delegate('.ResponseCell',mouseover mouseleave',函数(e){
如果(e.type=='mouseover'){
$(this.addClass('hover');
$(this).closest('td').addClass('hover');
}否则{
$(this).closest('table').find('tr,td,a').removeClass('hover');
}
});
});
$(函数(){
$(文档).ajaxError(函数(e,xhr){
如果(xhr.status==401){
window.location.reload();
}
});
});

这只是关于lambda包装器的——它会立即被$()执行,对吗?那么,这两个样本在任何有意义的方面有何不同呢。还是他们


(顺便说一句,我知道.delegate()不赞成使用.on(),并且单独处理mouseover和mouseleave会更有意义)

在jquery中,将函数包装在
$()
中会导致该函数在页面的OnReady事件激发后运行。

在jquery中,将函数包装在
$()
将导致在页面的OnReady事件激发后运行该函数

它会立即被$()执行,对吗

该语法将函数绑定为

以下三种语法都是等效的:

$( document ).ready( handler )
$().ready( handler ) (this is not recommended)
$( handler )

传递给.ready()的处理程序保证在DOM就绪后执行,因此这通常是附加所有其他事件处理程序并运行其他jQuery代码的最佳位置


也就是说,在对
文档执行操作之前等待ready事件触发是相当可疑的<代码>文档
将立即提供

它会立即被$()执行,对吗

该语法将函数绑定为

以下三种语法都是等效的:

$( document ).ready( handler )
$().ready( handler ) (this is not recommended)
$( handler )

传递给.ready()的处理程序保证在DOM就绪后执行,因此这通常是附加所有其他事件处理程序并运行其他jQuery代码的最佳位置



也就是说,在对
文档执行操作之前等待ready事件触发是相当可疑的<代码>文档
将立即提供

太快了!谢谢在霍根之前2秒。。。所以我猜你得到了复选标记。。。(或者我可以同时检查这两个……我想我会在超过10分钟的限制后发现……)虽然对于
文档
绑定,不必等待
DOMready
,但为了一致性,这样做是合理的。速度太快了!谢谢在霍根之前2秒。。。所以我猜你得到了复选标记。。。(或者我可以同时检查两个……我想我会在超过10分钟的限制后发现……)虽然对于
文档
绑定不必等待
DOMready
,但为了一致性,这样做是合理的。谢谢。。。落后昆廷2秒。你需要加强你的比赛P@Greylander-您可以查看编辑历史记录。。。我的第一个答案更完整!!是指所有人都很好的幽默,因此“:P”。2秒,答案基本相同,平局。用于查看编辑历史记录的链接/按钮似乎丢失。给你们两个投票。特别是昆汀的扩展答案必须得到验证。@Greylander-我就是这么认为的。加上他有漂亮的米色背景。。。你怎么会出错?谢谢。。。落后昆廷2秒。你需要加强你的比赛P@Greylander-您可以查看编辑历史记录。。。我的第一个答案更完整!!是指所有人都很好的幽默,因此“:P”。2秒,答案基本相同,平局。用于查看编辑历史记录的链接/按钮似乎丢失。给你们两个投票。特别是昆汀的扩展答案必须得到验证。@Greylander-我就是这么认为的。加上他有漂亮的米色背景。。。你怎么会出错??