2016-07-01 2 views
0

Я пытаюсь вызвать модальный с динамически добавленной кнопкой, но событие click не работает.Запуск модальный с динамически добавленной кнопкой

вот пример кода, который я использую кнопку, чтобы добавить в таблицу с JQuery

var button = "<button data-original-title='View' type='submit' data-hover='tooltip' data-placement='top' title='' data-toggle='modal' data-target='#properties" + property['_id'] + "' class='btn btn-default'><img src='images/home-icon.svg' height='20' width='20'></button>" 

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

$('body').on('click', '#properties-table td:last-of-type button', function(){ 
    alert('fdsfasdf') 
}) 
+0

Какую версию бутстрапа вы используете? –

+0

@Harry Bomrah v3.3.5 – user1751287

+0

Можете ли вы показать нам модальный код div? Я установил фиктивный jsfiddle, и ваш код работает. Проверьте это: https://jsfiddle.net/p3q9bmf5/ –

ответ

0

Ваш код не работает, потому что вы добавляете кнопку после того, как bootstrap привязывает все его событие. Таким образом, в то время как bootstrap добавляет прослушиватели событий, он не находит вашу кнопку, и, таким образом, никакое событие не подключено. Я советую вам использовать js-подход для запуска модального.

В вашем JS

$('body').on('click', '#properties-table td:last-of-type button', function(){ 
    $($(this).data("target")).modal("show"); 
} 

Это должно работать. Я обновил @Himanshu Tyagi fiddle https://jsfiddle.net/p3q9bmf5/1/

+0

Я понимаю вас, и я вижу, что ваш код работает, но когда я пытаюсь сделать это для тех записей, которые добавляются в загрузку страницы, модаль открывается и закрывается немедленно, а для динамически добавленных он все равно не работает. Это говорит о том, что есть что-то серьезное неправильно с нашим кодом и потребуется гораздо более глубокий анализ – user1751287

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