AJAX加载内容后加载脚本?

Cha*_*lie 2 ajax jquery load

我正在使用jQueryYQL获取网站的内容并在页面上显示某个元素,在本例中为table元素.我还使用jQuery QuickSearch插件设置了搜索功能.

这很好用,现在问题......

似乎在AJAX内容getter获取内容之前加载搜索脚本.我认为该脚本然后缓存数据,因此搜索更容易.因为它是在内容存在之后加载的,所以它不搜索任何东西而且它不起作用.有什么办法来加载搜索脚本AJAX内容加载?

我已经尝试通过readyjQ中的函数调用它:

$(document).ready(function() {
Run Code Online (Sandbox Code Playgroud)

但是在内容加载之前仍然会加载.我的AJAX脚本如下:

<script type="text/javascript">
    $(document).ready(function () {
        var container = $('#content');
        function doAjax(url) {
            if (url.match('^http')) {
                $.getJSON("http://query.yahooapis.com/v1/public/yql?"+
                    "q=select%20*%20from%20html%20where%20url%3D%22"+
                    encodeURIComponent(url)+
                    "%22&format=xml'&callback=?", 
                function (data) {
                    if (data.results[0]) {
                        var fullResponse = $(filterData(data.results[0])),
                            justTable = fullResponse.find("table");
                        container.append(justTable);
                    } else {
                        var errormsg = '<p>Error: could not load the page.</p>';
                        container.html(errormsg);
                    }
                });
            } else {
                $('#content').load(url);
            }
        }
        function filterData(data) {
            data = data.replace(/<?\/body[^>]*>/g, '');
            data = data.replace(/[\r|\n]+/g, '');
            data = data.replace(/<--[\S\s]*?-->/g, '');
            data = data.replace(/<noscript[^>]*>[\S\s]*?<\/noscript>/g, '');
            data = data.replace(/<script[^>]*>[\S\s]*?<\/script>/g, '');
            data = data.replace(/<script.*\/>/, '');
            data = data.replace(/<img[^>]*>/g, '');
            return data;
        }
        doAjax('url_goes_here');
});
</script>
Run Code Online (Sandbox Code Playgroud)

ade*_*neo 13

不确定我真的得到了问题,但是在内容加载Ajax之后加载脚本你可以这样做:

$.ajax({
  url: url,
  data: data,
  success: function() {
     //success loading content
  },
  error: function() {
    //error loading content
  },
  complete: function() {
     $.getScript("/scripts/mysearchscript.js", function() {
          alert('loaded script and content');
     });
  }
});
Run Code Online (Sandbox Code Playgroud)