Jquery良好的编码实践

时间:2013-10-21 06:09:15

标签: jquery modularity

假设我将一个事件处理程序委托给类“.btn”的元素,并且每个具有类“.btn”的元素都会有另一个与之关联的类,指示它是什么类型的按钮。例如:

<div class=".btn show">text</div>

将是一个显示事物的按钮。

如果我有一百万个这样的病例,这会是一个好习惯吗?

$(document).ready(function() {
    $('table').on('click', '.btn', function() {
        if ($(this).hasClass('show')) {
             show something ... 
        } else if ($(this).hasClass('submit')) {
             submit something ...
        } else if ($(this).hasClass('foo')) {
             do something ...
        }

也就是说,我是否应该为每种按钮设置不同的事件处理程序(每种按钮都有不同之处):

 $('.btn .show').click(function() {
     show something ...
 });

或者我应该使用if else语句链检查与hasClass()相关联的类?为什么呢?

1 个答案:

答案 0 :(得分:0)

我认为您应该使用 if..else if 链,因为它会使您的代码易于理解,而且它应该更快,因为您在点击事件上调用它当前元素