0

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

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

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

如果我有 100 万个这样的案例,这是一个好的做法吗?

$(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() 关联的类?为什么?

4

1 回答 1

0

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

于 2013-10-21T07:42:42.383 回答