gpt4 book ai didi

javascript - "this"单击时更改值

转载 作者:行者123 更新时间:2023-11-28 18:17:15 25 4
gpt4 key购买 nike

如果我有以下代码:

function Something() {
this.randomElement = $("#element");
}

Something.prototype = {

functionOne: function() {
console.log("hello");
},

functionTwo: function() {
this.randomElement.click(function(e) {
this.functionOne(); //this becomes pointed at randomElement
});
}
}

我怎样才能以一种干净的方式编写它,而不必使用 Something.prototype.functionOne() 来替换 this.functionOne() 内部功能二?既然点击事件改变了this的值?

最佳答案

因为 this 绑定(bind)到被单击的项目。您需要使用bind

this.randomElement.click( this.functionOne.bind(this) ); 

或 jQuery 的 proxy

this.randomElement.click( $.proxy(this.functionOne, this) ); 

关于javascript - "this"单击时更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40618920/

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