如何将它从函数fun传递到jquery on()函数?
在$(…).on(…)函数中使用this.panel。
在写这个问题的过程中,我找到了一个关于(…,data,…)的答案,但是如果还有其他答案,我很感兴趣,因为我花了一些时间寻找答案。
同样,当我用类似的问题搜索Stack的主题时,我没有找到或看到类似的答案,所以我把它保存在这里,以防忘记。
//Wrong code
function funWrong(selector) {
this.selector = selector;
this.panel = "#panel";
$(selector).on("click", "a", function() {
$(this).addClass("w3-green"); //this is clicked link
$(this.panel).addClass("w3-red"); //this is wrong
});
}
//Working code:
function funOk(selector) {
this.selector = selector;
this.panel = "#panel";
$(selector).on("click", "a", alias = this.panel, function() {
$(this).addClass("w3-green"); //this is clicked link
$(alias).addClass("w3-red");
});
}
//Use:
$(document).ready( function() {
var f = new funWrong('#selector');
var f = new funOk('#selector');
});