События при ajax
у меня данные на сайте меняются через ajax, так вот, все события я описал в одном файле - js.js, его содержимое:
$("#submit").click(function(){ $.ajax({ url: 'ajax/file1.html', success: function(data){ $(body).html(data); } }); $("#submit2").click(function(){ $.ajax({ url: 'ajax/file2.html', success: function(data){ $(body).html(data); } }); }); и допустим начальное содержимое страницы такое: <input type="text" id="textfield"><input type="submit" id="submit"> юзер ввел что-то там в поле #textfield, нажал на кнопку #submit и пришел совершенно другой html (на ajax!): <input type="text" id="textfield2"><input type="submit" id="submit2"> юзер тоже чет ввел и нажал на #submit2, и событие $("#submit2").click Не сработало :cray: Подскажите, как сделать чтобы событие сработывало даже при динамическом обновлении страницы (ведь вроде обработчики навешиваются на элемент только один раз) :help: :) ЗАРАНЕЕ СПАСИБО :) |
в jQuery не силён, но что сразу бросается
$(body).html(data); надо body в кавычки взять $.ajax({ url: "ajax/file1.html", cache: false }) .done(function( html ) { $( "body" ).append( html ); }); и обработчики ставятся по-другму пример из документации $( "#dataTable tbody tr" ).on( "click", function() { console.log( $( this ).text() ); }); |
итого что-то типа такого должно получиться
$( "#submit1" ).on( "click", function() { $.ajax({ url: "ajax/file1.html", cache: false }) .done(function( html ) { $( "body" ).append( html ); }); }); |
Цитата:
|
Часовой пояс GMT +3, время: 23:02. |