Два события onclick

У меня есть onclick два раза на одной и той же кнопке, кнопка для какой-то второй, похоже, не работает. Что мне нужно сделать, чтобы заставить обоих работать.

<button type="submit" id="done">Ok</button>

1-е событие

$(document).ready(function () {
 $('#done').click(function () {

 });
});

Второе событие

$(function () {
 $(document).on("click", "#done", Done);
});



function Done() {
 $.ajax({

 });
}
2 ответа

Проверьте демо-версию

Проверьте вторую демонстрацию, на которой показан код defualt, т.е. когда он работает без ошибок

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

Jquery

$(document).ready(function () {

 $('#show').click(function(){
 $('#done').show();
 });
 $('#done').click(function () {
 alert('called 1st');
 $(this).siblings('.col-lg-11').attr('contenteditable', 'false');
 $(this).siblings('.col-lg-11').attr('style', 'border:none;');
 $(this).attr('style', 'display:none;');
 $(this).siblings('.edit-link').attr('style', 'display:li;');
 $(this).siblings('.cancel-link').attr('style', 'display:none;');
 });
});
$(function () {
 $(document).on("click", "#done", Done);
});



function Done() {
 alert('called 2nd');
 var s="sa"; 

var request = $.ajax({
 type: "POST",
 url: "http://www.google.co.in",
 data: { name: "John", location: "Boston" }
}).done(function( ) {
 alert( "Data Saved: " );

 });

request.fail(function( jqXHR, textStatus ) {
 alert( "Request failed: " + textStatus );
}); 

}


Я считаю, вам нужно немного отладить проблему. Заголовок вопроса указывает, что javascript (или jQuery) не обрабатывает событие click. Это может быть не так.

$(document).ready(function () {
 $('#done').click(function () {
 console.log('first')
 });

});

$(function () {
 $(document).on("click", "#done", Done);
});

function Done() {
 console.log('second')
}

<button type="submit" id="done">Ok</button>

Это отлично работает, см. Jsfiddle, консоль в моем браузере регистрирует как первое, так и второе сообщения. Таким образом, похоже, что оба события стреляют.

Теперь вам нужно отладить ваш запрос ajax или ваш контроллер. Попробуйте получить простой файл (одна строка внутри него) и предупредить об этом. Тогда вы можете точно определить свою точную проблему.

licensed under cc by-sa 3.0 with attribution.