JQuery: несколько привязок к событиям - PullRequest
2 голосов
/ 21 февраля 2010

Как сделать прямое событие (для случаев, когда вводится новое содержимое) с новым способом выполнения нескольких событий jQuery:

$('.foo', this).bind({
    click: function() {
        //do thing
    },
    mouseover: function() {
        //do other thing
    },
    mouseout: function() {
        //do other other thing
    },
    focus: function() {
        //do other other other thing
    }
}); 

Например, в приведенном выше тексте мне нужно связать любой контент с кликом, а также со всеми остальными событиями.

По сути, я стараюсь не писать:

$('.foo', this).live('click', function() {
     //do thing
  }
});
$('.foo', this).live('mouseover', function() {
    //do other thing
  }
});
$('.foo', this).live('mouseout', function() {
    //do other other thing
  }
});
$('.foo', this).live('focus', function() {
    //do other other other thing
  }
});

Ответы [ 2 ]

4 голосов
/ 24 февраля 2010

Если вы хотите, чтобы каждое событие делало уникальные вещи, у вас будет подробное задание в ваших руках. Если вам нужно, чтобы каждое событие делало одно и то же, это было бы гораздо более короткой задачей. Вы можете связать несколько событий, но все равно это будет несколько многословно:

$('.foo', this).live('mouseover mouseout', function(e) {
  if (e.type == 'mouseover') {
    // do something on mouseover
  } else
  if (e.type == 'mouseout') {
    // do something on mouseout
  }
});

И снова, если они все сделали одно и то же , это было бы проще:

$('.foo', this).live('mouseover mouseout', function(){
  // do something on both events
});

Документация: http://api.jquery.com/live/

4 голосов
/ 21 февраля 2010

.........

$('.fastlook', this).live('click', function() {
    // more code.......
  }
}); 

Edit:

Если вы хотите назначить несколько событий, просто разделите их пробелом, например:

$("selector").live('click mousemove mousedown', function(){
  // more code.............
});

..........

строка eventTypeA, содержащая Тип события JavaScript, такой как «щелчок» или "ключом вниз". Начиная с jQuery 1.4 строка может содержать несколько разделенные пробелами типы событий или пользовательские также имена событий.

Источник: http://api.jquery.com/live/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...