Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.06.2014, 19:55
Аватар для Аварский
Новичок на форуме
Отправить личное сообщение для Аварский Посмотреть профиль Найти все сообщения от Аварский
 
Регистрация: 20.06.2014
Сообщений: 3

Не работает кнопка, созданная программно.
Всем привет. Недавно начал изучать javascript. Работаю c API Яндекс Карт. Они пользуются библиотекой jQuery, так что я тоже решил использовать её. И возникла небольшая проблема. Делаю обработчик для одной кнопки, и создаю с помощью него другую.
$('#routeButton').click(function () {
    $('#routes').html('<a href="#" id="showRoute" >Новая кнопка</a>');
});

Но другая кнопка не работает. Не реагирует на обработчик.
$("#showRoute").click(function () {
    alert('Есть реакция!');
});


Помогите разобраться. Эту технологию еще не знаю. Может программно созданный элемент не крепляется к обработчику. Если так, то как можно вывести данные из базы и для каждого каждой стоки создать кнопку?
Ответить с цитированием
  #2 (permalink)  
Старый 20.06.2014, 22:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Аварский,
когда создали тогда и клик присвоили кнопке а ненаоборот или делегирование -- body клик присвоили и боди ждёт когда же нужная кнопка сигнал клик подаст.
Ответить с цитированием
  #3 (permalink)  
Старый 20.06.2014, 22:27
Аватар для Аварский
Новичок на форуме
Отправить личное сообщение для Аварский Посмотреть профиль Найти все сообщения от Аварский
 
Регистрация: 20.06.2014
Сообщений: 3

Не очень то понял. Объясните пожалуйста на примере...
Ответить с цитированием
  #4 (permalink)  
Старый 20.06.2014, 23:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

1 вариант
$('#routeButton').click(function () { 


    $('#routes').html('<a href="#" id="showRoute" >Новая кнопка</a>'); 

$("#showRoute").click(function () { 


    alert('Есть реакция!'); 


}); 


});

2 вариант

$("#routes").on("click","#showRoute", function () { 


    alert('Есть реакция!'); 


}); 

$('#routeButton').click(function () { 


    $('#routes').html('<a href="#" id="showRoute" >Новая кнопка</a>'); 


});
Ответить с цитированием
  #5 (permalink)  
Старый 20.06.2014, 23:38
Аватар для Аварский
Новичок на форуме
Отправить личное сообщение для Аварский Посмотреть профиль Найти все сообщения от Аварский
 
Регистрация: 20.06.2014
Сообщений: 3

Отлично брат. СПС. Помог. Целый день с этим мучился. СПС что объяснил.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В IE9 не работает кнопка отправить - type="submit" Edan Internet Explorer 3 24.12.2011 00:21
Не работает кнопка через live Dorian_bs Общие вопросы Javascript 7 04.12.2011 02:29
не работает форма в окне, вызванном jquery page slide ikar jQuery 0 31.07.2011 22:55
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41
ajax запросы, работает на одних компах и не работает на других vtornik23 AJAX и COMET 2 22.03.2010 18:22