如何编写可重用的jquery点击功能?

时间:2014-04-01 10:38:53

标签: jquery html jquery-ui-accordion reusability

我有这个手风琴功能:

 $('.accordion a').click(function () {

        if($(this).is('.accordionClose')) {
            $('.accordionOpen').toggleClass('accordionOpen').toggleClass('accordionClose').next().slideToggle().toggleClass('openContent');
            $(this).toggleClass('accordionOpen').toggleClass('accordionClose');
            $(this).next().slideToggle().toggleClass('openContent');
        }

        else {
            $(this).toggleClass('accordionOpen').toggleClass('accordionClose');
            $(this).next().slideToggle().toggleClass('openContent');
        }
    });

我有这个片段来制作手风琴效果。问题是我不知道如何使它成为一个通用功能,并在需要时调用它。我需要以插件格式制作吗? 或者其他任何可能的方式吗?

我知道使用逗号分隔的多个selctors。我不是那个意思。

2 个答案:

答案 0 :(得分:12)

像这样写:

function func_name(){
//do stuff here
}

//call this later like this:

$('.accordion a').click(func_name);

//Or call like this:
$('.accordion a').click(function(){
  func_name(); //parenthesis required here
});

另外,你可以看一下another post加强一点。

答案 1 :(得分:1)

如果你想在其他一些点击上做同样的事情那么你也可以通过触发器触发相同的点击事件:

$(".xyz_class").click(function(){
   $(".accordion a").trigger("click");
});

文档为here。希望有所帮助。