События при 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, время: 15:35. |