ИЛИ функциональность событий, используя jquery - PullRequest
0 голосов
/ 26 марта 2011

У меня есть раскрывающийся список и событие onchange. У меня есть вызов ajax

$('#id').change(function() {
  // ajax call
});

Но я хочу, чтобы вызывался вызов ajax:

  • onchange
  • onload

У меня есть такая логика:

<script>
$function({

   myfunction();

   $('#id').change(function() {
      myfunction();
    });
});

function myfunction(){
// ajax call
}
</script>

Но есть ли эффективный способ сделать это, любое событие jquery, которое вызывает обе функции ИЛИ, выполняющие подобные:

if (onchange || onload)
// ajax call

Прошу прощения за заголовок.

Ответы [ 2 ]

0 голосов
/ 26 марта 2011

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

  <script type="text/javascript">
    $(function()
    {
      $('#testElem').bind('load change', function()
      {
        $('body').append('I am fired!');
      });
    });
  </script>

К сожалению, <select> s не будет запускать события загрузки при загрузке страницы, поэтому вы застряли.

0 голосов
/ 26 марта 2011

Несколько событий

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

$('#foo').bind('mouseenter mouseleave', function() {
  $(this).toggleClass('entered');
});

Из jquery api.

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