gpt4 book ai didi

javascript - 理解 jquery .on() 方法的第三个参数和 var self = this

转载 作者:行者123 更新时间:2023-11-30 11:30:23 25 4
gpt4 key购买 nike

我在 jquery 脚本后面的某个地方看到,我想了解这个脚本。
我对以下代码感到困惑,首先为什么要创建 var self 为什么不在此处使用关键字 this $( '.some-class' ).on( 'click ', 'a#some-link', self, this.bar.create );

第二,当这段代码也能正常工作时,为什么要使用第三个参数 self:

$( '.some-class' ).on( 'click', 'a#some-link', this.bar.create );

查看示例代码:

    ;(function($) {
'use strict';

var Foo = {

initialize: function() {
var self = this;

$( '.some-class' ).on( 'click', 'a#some-link', self, this.bar.create );
},
bar: {
create: function(e) {

}
}
};

$(function() {
Foo.initialize();
});

})(jQuery);

最佳答案

所以 on 参数是:

.on( events, selector, data, handler )

所以在 event.data 中,对象的引用就在那里。

当您离开 self 时,这意味着 event.data 将没有该对象。因此,如果代码出于某种原因需要该引用,它就不会存在。

$(document.body).on("click", "div", {pickle: "yes"}, function (event) {
console.log(event.data); //{pickle: "yes"}
});

关于javascript - 理解 jquery .on() 方法的第三个参数和 var self = this,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46451699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com