Javascript 在jquery中使用.on()的更有效方法

Javascript 在jquery中使用.on()的更有效方法,javascript,jquery,Javascript,Jquery,我目前正在构建一个应用程序,它利用了jQuery中的.on() 我注意到的是,我正在大量使用.on()方法。如此之多,以至于感觉我的代码开始变得非常混乱 $(document).on('click','.close-comments',function(){ shrinkComments(); }); // end function $(document).on('click','.reload',function(){ // perform reload }); // end functio

我目前正在构建一个
应用程序
,它利用了
jQuery
中的
.on()

我注意到的是,我正在大量使用
.on()
方法。如此之多,以至于感觉我的代码开始变得非常混乱

$(document).on('click','.close-comments',function(){
shrinkComments();
});
// end function

$(document).on('click','.reload',function(){
// perform reload
});
// end function

$(document).on('click','.write-comment',function(){
});
// end function

$(document).on('click','#load-more',function(){
});
// end function
我想知道的是。。。是否有更有效的方法使用
.on()
方法来处理页面中可能发生的各种不同点击

很多内容都是通过ajax加载的,因此内容会有所不同,但我只是想寻找一种更优雅的方法来使用这种方法,这样我的代码就更精简、更高效了

提前谢谢

var clickHandlers = {
  '.close-comments' : function() {
    shrinkComments();
  },
  '.reload': function() {
    // perform reload
  },
  '.write-comment': function() {
  },
  '#load-more': function() {
  }
};
for (var selector in clickHandlers) {
  $(document).on('click', selector, clickHandlers[selector]);
}

如果要处理除单击以外的事件,可以将另一层添加到
处理程序
对象和for循环中的另一层。

您所说的“高效”是什么意思?通常,当人们使用这个术语时,他们指的是代码运行的速度,但听起来你可能指的是“少键入”或类似的内容。是的,这就是我的意思,在页面中多次不写出。***.on(),效率更高。