jQuery事件之on()方法绑定多个选择器,多个事件

这样一个需求,如果用live()方法实现的话 非常简单,容易理解。

  1. $(‘nav li, #sb-nav li, #help li‘).live(‘click‘, function () {
  2.    // code...
  3. });

jquery在1.7版本后,建议大家用on方法代替之前的bind、live、delegate方法。
那上面一句如果用on的话,怎么写呢?

其实查看live源码就知道,live实际是委托doucment进行事件委派的。
按照这个思路,可以将on方法绑定到document即可。

  1. $(document).on(‘click‘, ‘#header .fixed-feedback-bn, #sb-sec .feedback-bn‘, function () {
  2. // code...
  3. });

还有一种情况,on()方法绑定多个事件,可以这样写:

  1. $("table.planning_grid").on({
  2. mouseenter: function() {
  3. // Handle mouseenter...
  4. },
  5. mouseleave: function() {
  6. // Handle mouseleave...
  7. },
  8. click: function() {
  9. // Handle click...
  10. }
  11. }, "td");

最后,用on()方法绑定多个选择器,多个事件则可以这样写:

    1. $(document).on({
    2. mouseenter: function() {
    3. // Handle mouseenter...
    4. },
    5. mouseleave: function() {
    6. // Handle mouseleave...
    7. },
    8. click: function() {
    9. // Handle click...
    10. }
    11. }, ‘#header .fixed-feedback-bn, #sb-sec .feedback-bn‘);

http://www.qingdou.me/1536.html

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。