2013-07-18 6 views
0

Я довольно новичок в Js и JQuery.Сгенерированные поля, не запускающие скрипт с .blur()

У меня есть проблема со скриптом, который запускается с опцией .blur(), как это:

$('.check-total').blur(function(){ 

    verifCheck(); 
}); 

Кроме того у меня есть функция может создавать новые поля с этим классом .check-total с .append().

Вышеупомянутый код вызывает функцию, которая проверяет все поля, имеющие .check-total как класс, который отлично работает, делая сумму всех полей, которые я создал с помощью .append().

Проблема возникает из-за того, что вышеуказанный код не запускается, когда эти новые поля размыты.

Вопрос в том, как JQuery может проходить через все поля, делая хорошую сумму и не вызывая размытие на ящиках, которые я создал?

Это происходит из-за возможной ошибки моего или из-за проблемы, связанной с DOM?

Большое спасибо!

ответ

2

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

$(document).on('blur', '.check-total', function() { 
    //code here 
}); 
+0

Отлично! Еще раз спасибо ! – jmc

0

Вы должны связать события на новые объекты, которые вы создаете.

0

`$ (документ) .ready (функция() {

$('.check-total').bind({ 
    'blur': function() { 
     verifCheck(); 

)} 

})`

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