Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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 有人能用.bind()函数给我解释一下这段代码吗?_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript 有人能用.bind()函数给我解释一下这段代码吗?

Javascript 有人能用.bind()函数给我解释一下这段代码吗?,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我在jQuery源代码中遇到了以下代码段(事件处理): var events = ['click', 'focus', 'blur', …]; jQuery.each(event,function(i,name){ jQuery.prototype[name] = function(fn){ return this.bind(name,fn); }; }); 有人能给我解释一下吗?this.bind(name,fn)是如何绑定的的工作方式与元素相同。addEve

我在jQuery源代码中遇到了以下代码段(事件处理):

var events = ['click', 'focus', 'blur', …];
jQuery.each(event,function(i,name){
    jQuery.prototype[name] = function(fn){
        return this.bind(name,fn);
    };
});
有人能给我解释一下吗?
this.bind(name,fn)是如何绑定的的工作方式与
元素相同。addEventListener('event','callback()')

我知道javascript的基础知识,但不知道javascript的更高级部分。自从我自学以来,我的JavaScript知识有很多漏洞。如果有人知道一个好的源代码,我可以从中学习到更高级的JavaScript,我也想听听


谢谢。

很简单,我们将所有事件都放在一个数组中
[单击,聚焦…]
很容易,我们在该数组上应用foreach,然后代码的下一部分将函数分配给jQuery原型
$.fn.click()
,它将成为
$('#me')。click()
,最后是这个
click()函数调用
$.fn.bind()
稍后将调用
addEventListener()
,就是这样


如果您仍然想知道jQuery中的
addEventListener()
在哪里,请阅读
bind()

您尝试过在Internet上搜索它吗??如果没有,那么就通过这个链接。它迭代事件,将它们设置为prototype的
jQuery
属性,然后将新属性设置为引用包装本机javascript
bind的函数method@RonakBhatt它不是jquery的.bind。这是错误的链接,请参阅ES5的一部分(在较旧的浏览器中可以使用垫片)。@Freshyeball-那么正确的链接是什么???非常感谢,这确实帮助了我!)