2013-09-05 3 views
0

Exist любого события в JQuery, что вкладывания события так:OnLoad JQuery событие для вызова функции и сделать его «живой»

$("body").on("click", "#test", function() { 
    // some code here... 
}); 

Что я могу прикрепить к load или ready событию, чтобы заменить:

$(document).ready(function() { 
    // Some code... 
}); 

Мне нужно это, потому что у меня есть область $(document).ready(); во внешнем файле, который выполняет некоторую проверку формы, а в моем HTML я загружаю некоторый контент с помощью ajax, а затем все в этой области не работают.

Другими словами, я хочу, чтобы все в $(document).ready(); оставались live на странице, используя что-то вроде .on.

Если я помещаю HTML непосредственно на страницу, без ajax, валидация работает.

Любая идея о том, как я могу решить эту проблему?

ответ

1

Как предложение:

Дайте глобальный доступ к функции проверки, а затем использовать AJAX обратных вызовов вызвать эту функцию проверки.

+0

, как я могу это сделать? Никогда не слышал о «глобальном доступе» в javascript. –

+0

@WellingtonZanelli http://stackoverflow.com/questions/9284273/global-and-local-and-private-functions-javascript – fguillen

+0

Об переменных, это нормально, но что относительно функции, которую я хочу? –

0

Я предполагаю, что элемент с идентификатором «тест» добавляется после вызова ajax. , то вы можете использовать это, чтобы сделать элемент готовым.

вы можете добавить несколько документов в один файл/или в несколько файлов javascript. , но я бы предложил вам ввести код внутри функции и вызвать эту функцию из области document.ready внешнего файла.

function doSomething() 
{ 
    $("#test").on('click', function(){ 
     //do some thing here 
    }); 
} 

Внешний файл:

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

try{ 
doSomething(); 
} 
catch() 
{ 
//this section will be hit when the method is not avavilble. 
} 
}); 
+0

Метод 'live' в настоящее время удален. См. Http://api.jquery.com/live/ –

+0

Да, его лишили в последних версиях. Я неверно истолковал ваш вопрос. – sudhAnsu63

+0

Я обновил свой ответ. вы можете проверить . – sudhAnsu63

Смежные вопросы