Подтвердить что ты не робот

Кнопка не запускается в модальном окне (Bootstrap)

У меня есть кнопка в модальном окне:

<button id="submit_btn" class="btn btn-link">Send the invitation</button>

Я пытаюсь захватить клик:

$('#submit_btn').click(function(event){
    event.preventDefault();
    alert( "GO" ); 
});

Я прочитал, что нажатие кнопки нажата, чтобы усвоить в модальных окнах, и чтобы это предотвратить, используйте event.preventDefault(). Но это не работает. Я не могу зафиксировать событие нажатия этой кнопки.

Что еще мне не хватает?

Любые советы приветствуются!

4b9b3361

Ответ 1

Попробуйте это -

$(document).on("click", "#submit_btn", function(event){
    alert( "GO" ); 
});

Или это -

$(document).delegate("#submit_btn", "click", function(event){
    alert( "GO" ); 
});

Если вы используете более старую версию jQuery, вам, возможно, придется использовать живой метод.

Живой метод (используйте это, только если вам нужно)

$("#submit_btn").live("click", function(event){
    alert( "GO" ); 
});

Я уверен, что один из этих 3 методов, описанных выше, решит вашу проблему. Причина, по которой ваш обработчик событий не работает, заключается в том, что ваш элемент submit_btn не существует во время оценки вашего обработчика событий. Вышеуказанные три обработчика, которые я дал вам, будут работать над элементом submit_btn, который существует сейчас, и в будущем.

/изменить

Вот jsfiddle, который работает - http://jsfiddle.net/GqD4f/8/

/другое редактирование

Я сделал jsfiddle, используя подход, который у вас был в вашем сообщении, и он работает - http://jsfiddle.net/CR3bM/1/

Не помещаете ли вы обработчик событий в DOM?

Ответ 2

Это работает для меня:

$(document).on("click", "#submit_btn", function(event){
    alert("GO"); 
});

Ответ 3

Вот как я поступил с классом (.copy-text).

Javascript:

$(document).on('click', '.copy-text', function(){
    console.log($(this));
});

Модальный HTML:

<div class="modal fade" id="someid" tabindex="-1" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-body">    
      <ul class="list-group"> 
        <li class="list-group-item copy-text">Some text</li>
      </ul>
    </div>
  </div>
</div>

Ответ 4

У меня была эта проблема только сейчас.

По какой-то причине, если вы завернете

  $(document).on("click","span.editComment",function(event) {

в одном из них:

 $(document).ready(function() {

Тогда он не поймает щелчок по какой-то странной причине. Просто удалите окружающий документ:

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

И ваш код должен работать!