выполнение скрипта после вызова jQuery Ajax - PullRequest
2 голосов
/ 18 августа 2010

Я загружаю некоторый HTML-код в div с помощью функции .load af jQuery, которая содержит код, который я хочу выполнить;

$.ajax({
    type: "GET",
    url: url,
    dataType: "html",
    success: function(data){
        //.....
   }
 });

После загрузки ajax-запроса выдается предупреждение (); функция работает, но функция someFunction не работает.

$(document).ready(function(){
    alert('TEST'); //this works
    someFunction("#debug",'var');//this doesn't
});

Как я могу выполнить эту функцию из Ajax-вызова

Функция, выполняемая как <a onclick="someFunction()", также не будет работать.

Ответы [ 2 ]

1 голос
/ 18 августа 2010

Возможно, вам следует использовать jQuery.getScript для загрузки некоторого javascript с сервера и его запуска.

ОБНОВЛЕНИЕ: В большинстве случаев загружается только чистый HTML-фрагмент по отношению к jQuery.ajax. Привязка элементов к некоторым функциям javascript, которые выполняются внутри дескриптора success. Все функции, которые используются в любом обработчике событий, загруженном ранее (с <script> в блоке <head>) на главной странице (на странице, которая вызывает jQuery.ajax). Тогда все выглядит очень четко и динамическая загрузка любых скриптов не требуется.

0 голосов
/ 18 августа 2010

Почему бы вам не использовать функцию обратного вызова, которая уже доступна в вашем вызове ajax?

$.ajax({
type: "GET",
url: url,
dataType: "html",
success: function(data){
    alert('TEST'); //this works
    someFunction("#debug",'var');//this doesn't
}});

Я бы поближе взглянул на то, как вы разрабатываете код

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...