Как запустить код внутри .live () на готовом документе? - PullRequest
1 голос
/ 23 июля 2010
$('#foo').live('keyup', function (e) {
  var input = $(this).val();
  // code to process input
});

Это используется в форме публикации, и мне нужно запустить код внутри live (), когда документ будет готов.Есть ли способ, кроме как ждать нажатия клавиши, чтобы вызвать его?

Ответы [ 3 ]

2 голосов
/ 23 июля 2010
$(function() { 
   // add the event
  $('#foo').live('keyup', function (e) { 
  var input = $(this).val(); 
      // code to process input 
    }); 
  $('#foo').trigger('keyup');  //trigger the event
}); 
1 голос
/ 23 июля 2010

Похоже, вы говорите, что есть часть кода, которая будет работать на keyup, которую вы также хотите запустить один раз при загрузке страницы.

Если это так, вы можете поместить этот код в другую функцию и вызывать его как при загрузке страницы, так и внутри обработчика .live().

function someFunction() {
   // code to run
}

$('#foo').live('keyup', function (e) {
  var input = $(this).val();
    // run on keyup
  someFunction();
});

   // run on page load
someFunction();
0 голосов
/ 23 июля 2010

Если вы спрашиваете, как прикрепить событие keyup после , документ готов, это решение:

jQuery(document).ready(function($) {

    $('#foo').live('keyup', function (e) {
      var input = $(this).val();
      // code to process input
    });

});

Однако, это не будет работать, потому чтоВся идея создания jQuery.live заключается в автоматической привязке к каждому селектору, сейчас и в будущем .

Кроме того, вы указываете идентификатор в качестве селектора.Идентификатор должен быть уникальным для элемента.Таким образом, возможность привязать его к нескольким элементам с идентификатором foo будет технически неверной.

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