2012-04-23 24 views
1

我有个关于jquery onclick函数的问题,问题不是bug; 当我写的是使用jquery一些点击按钮的功能,我已经写了很多的jQuery的,例如:jQuery不只是写了很多点击功能

$(document).ready(function(){ 
    $('#dp1').datepicker({ 
      format: 'yyyy-mm-dd' 
    }); 
    $('#dp2').datepicker({ 
      format: 'yyyy-mm-dd' 
    }); 

    $("#addNewQ").on('click', function(){ 
     ....... 
    }); 
    $('#addNew').on('click', function(){ 
     ....... 
    }); 
    $('#addText').on('click', function(){ 
     ....... 
    }); 

}); 

我的问题是如何写这更好。我不想写很多点击功能。

我已经尝试谷歌,但我不知道关键字。谢谢 !

+5

是所有的点击事件一样吗?你可以做'$(“#addNewQ,#addNew,#addText”)。on('click''),或者给这些类,然后做一个'$('。add')。on('click'' – 2012-04-23 15:25:12

回答

2

如果这些点击事件运行相同的功能,那么你可以给一个类多个元素,并使用它。例如,您的日期选取器可能有class="datepicker"加入其中,这将只是然后要求1个事件侦听器:

$('.datepicker').datepicker({ 
     format: 'yyyy-mm-dd' 
}); 

但是,如果这些点击的事件将运行不同的功能,那么你最好能有一个不同的点击事件侦听器。

但是,这并不意味着您必须在1个长DOM就绪函数中列出您的点击事件侦听器。您可以使用Javascript OOP更好地组织您的点击事件。

你会发现这篇文章提到的JavaScript OOP有一些对你的使用:

http://net.tutsplus.com/tutorials/javascript-ajax/the-basics-of-object-oriented-javascript/

+0

谢谢,我知道该怎么做。 – lighter 2012-04-23 15:41:43