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

时间:2015-07-04 04:39:41

标签: javascript jquery

我目前正在构建一个app,它使用.on()中的jQuery

我注意到的是,我正在使用.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加载的,所以内容会有所不同,但我只想找到一种更优雅的方式来使用这种方法,这样我的代码就更精简,效率更高

提前致谢

1 个答案:

答案 0 :(得分:0)

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]);
}

如果您想处理click以外的事件,可以在handler对象中添加另一个图层,在for循环中添加另一个图层。