是否可以封装事件逻辑以避免重复代码?

Bla*_*man 0 javascript jquery

假设选中/取消选中复选框时,我希望发生特定行为.

现在,如果我的代码中有多个点,我将复选框设置为选中/取消选中,我必须始终运行相同的逻辑.

我可以用什么方式封装选中复选框时发生的逻辑,然后重新使用该逻辑?

Mat*_*all 5

我的猜测是你当前正在绑定像这样的点击事件处理程序:

$('some-selector').click(function (event)
{
    // do fancy stuff here
});
Run Code Online (Sandbox Code Playgroud)

要封装该逻辑,您只需要从使用匿名函数切换到可以重用的函数,如下所示:

function handleClicks(event)
{
    // do fancy stuff here
}

$('some-selector').click(handleClicks);
$('some-other-selector').click(handleClicks);
Run Code Online (Sandbox Code Playgroud)

怎么样?


我也可能会猜测你正在编写和重写的逻辑是将"check-all"类型的复选框连接到一组复选框.我最近写了一个jQuery插件来处理这种事情.

我从来没有把它正确地上传到GitHub - 是它的要点.如果您想真正使用它,请告诉我,我可以解释它的用法 - 它非常简单.