автор данного кода не я, но многим прегодиться. сам код найден на стековерфлоу.
иногда возникает следующая ситуация: после аякс запроса мы выдергиваем часть хтмл кода и внедряем его в текущую страницу. примерно это выглядит следующим образом
$.ajax({ type:'post', data:'var1='+var1, url:'test', success:function (data) { var new_data = $data.find('#container').html(); $("#ajax_response").html(new_data); } });
чтобы выполнить инлайн скрипты с страницы test.php достаточно, после
$("#ajax_response").html(new_data);
добавить
$data.filter('script').each(function(){ $.globalEval(this.text || this.textContent || this.innerHTML || ''); });
написание валидного кода, который будет работать и после аякс запроса
тут я могу дать 2 рекомендации:
первая. $(document).ready(); следует использовать следующим образом. чтобы после вызова аякс запроса можно было дернуть функцию OnloadFunction(), тк $(document).ready() уже не дернуть
function OnloadFunction () { alert("test"); } $(document).ready(OnloadFunction);
вторая. желательно, чтобы функции на события в инлайн скриптах вешались через jquery функцию .ON() https://api.jquery.com/on/ . в ином случае, события после аякс функции работать не будут
$( "#dataTable tbody tr" ).on( "click", function() { console.log( $( this ).text() ); });