0
$(this).click(function() {
    clicked($(this));
});

如何将此代码最小化为一行?

试过这个 - 不起作用:

$(this).click(clicked(this));

它将像这样使用:

function clicked(element) {
    element.css('...');
        // some other code
}
4

1 回答 1

1

您可以clicked直接传递函数:

$(this).click(clicked);  

但是你需要改变你的clicked函数来包装元素。

function clicked() {
    $(this).do("whatever")
}

关于您更新的问题,您可以根据需要clicked返回一个函数。

function clicked(element) {
    return function() {
        element.css('...');
        // some other code
    }
}

那么你可以这样做:

$(this).click(clicked($(this)));

但我会亲自更改您的clicked功能,使其像第一个版本一样工作。

于 2013-02-17T19:16:36.303 回答