2015-01-07 3 views
0

У меня есть несколько функций внутри документа. Все вызовы с функцией щелчка ids.Вызов нескольких функций в готовом документе

$(function(){ 
    $('#show').click(function(){ 
    //do something 
    }); 
    $('#cancel').click(function(){ 
    //do something 
    }); 
    $('#send').click(function(){ 
    //do something 
    }); 
}); 

В #show я создаю элемент, где создаются #cancel и #send идентификаторами. Но при нажатии на них ничего не происходит, и при отладке возникают какие-либо ошибки.

Внутри #show я написал весь HTML в переменной, а затем просто использовал .append, чтобы поместить его на место.

+0

Если я вас правильно понял, вы создаете '# cancel' и' # send' при нажатии на кнопку '# show', так что вы должны связать событие щелчка внутри #show события и после создания Элементы вроде этого: '$ (function() { $ ('# show'). click (function() { // do . что-то \t // Element '#cancel' и '#send' создание \t $ ('# отменить') нажмите (функция() { \t \t // сделать что-то \t}); \t $ ('# send'). Click (function() { \t \t // сделать что-то \t}); }); }); ' –

+0

положить отменить и отправить функции щелчка внутри функции show click. – CRABOLO

+0

Пригодится скрипка. Если вы создаете элементы динамически, вам может потребоваться добавить [.bind()] (http://api.jquery.com/bind/) при создании элемента. – sareed

ответ

1

Как jQuery docs сказать: Обработчики событий привязаны только к выбранным в данный момент элементам; они должны существовать на странице в то время, что ваш код делает вызов .on()click(...) это просто ярлык для on('click',...)

Один способа иметь дело с этим делегировано событием, описанным там. В вашем случае это может быть что-то как:

$(function(){ 
    $('#show').click(function(){ 
    //do something 
    }); 
    $('body').on('click', '#cancel', function(){ 
    //do something 
    }); 
    $('body').on('click', '#send', function(){ 
    //do something 
    }); 
}); 
+0

Спасибо за освобождение. Я думал, что вызов для .on() будет находиться в самом действительном триггер события (щелчок/коснуться или что-то еще). – Marcos

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