0

这感觉像是一个业余问题,但是您如何在 Javascript / jQuery 的自定义函数中处理事件?

现在我正在使用这个:

$(".button").on("click", function(event){
    removeButton();
});

function removeButton() {
    $(this).removeClass("specifiedClass");
}

我试图removeButton()理解我希望它删除.button本身的类。

我不确定如何removeButton()参加该活动,但我尝试过:

$(".button").on("click", function(event){
    removeButton(event);
});

function removeButton(event) {
    $(this).removeClass("specifiedClass");
}

但它不起作用。有谁知道怎么做?

4

2 回答 2

5

您需要将元素作为参数传递:

$(".button").on("click", function(event){
    removeButton(this);
});

function removeButton(elem) {
    $(elem).removeClass("specifiedClass");
}
于 2013-08-18T17:53:36.053 回答
1

SLaks 的解决方案是完全可以接受的,但如果您不想更改removeButton函数,您可以使用callapply调用具有正确this值的函数:

$(".button").on("click", function(event){
    removeButton.call(this);
});

function removeButton() {
    $(this).removeClass("specifiedClass");
}
于 2013-08-18T18:12:01.540 回答