gpt4 book ai didi

javascript - 对范围界定和这个感到困惑

转载 作者:行者123 更新时间:2023-11-29 14:57:22 25 4
gpt4 key购买 nike

我从这里收到了一个代码片段:http://jsdude.wordpress.com/2012/12/19/jquery-event-callbacks-and-javascript-oop-methods/ :

 var CounterButton = function(el){
this.$el = $(el);
this.counter = 0;
this.bindEvents();
this.myVal = 1;
}

CounterButton.prototype.bindEvents = function(){
this.$el.click(this.clicked);
};

CounterButton.prototype.clicked = function(){
this.increase();
this.showMessage();
};

我试图弄清楚这一行:his.$el.click(this.clicked);。当你在 click 函数中有 this 时,它指的是被点击的内容是 this.$el 吗?

最佳答案

does that refer to whats being clicked on which would be this.$el?

没有。它指的是一个名为 clicked 的函数,该函数位于包含 bindEvents 方法的对象中

然而,事件处理程序中的 this 引用 DOM ELEMENT !考虑这个简单的代码:

$("body").click(this.do1);

function do1()
{
alert(this.tagName); //BODY
}

请注意

$el.click(this.clicked)

就像:

var that=this;
$el.on('click',function {}(that.clicked()));

关于javascript - 对范围界定和这个感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15591123/

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