1

我试图在使用 click 函数通过 ajax 加载 innerHTML 页面后触发一个事件,但我似乎无法让它工作。我究竟做错了什么?

这是我的代码:

var url;
var textUrl;
$('.linkQuestion').on('click', 'a', function() {
    url = $(this).attr('href');
    textUrl = 'https://s3.amazonaws.com/RichText-javascript/richTextEditor.js?AWSAccessKeyId=ASIAJRENG2ALKWZTWOLA&Expires=1352449392&Signature=Z5GHSw5NaBsDC1c2MwWQC32rVKo%3D&x-amz-security-token=AQoDYXdzECEakAIaCSO9XKqmKgVa/ik%2BPvC1ZfmZEtAuf1MyMhvuXFkES0Io1tP3Lpcm85usfK%2B0/Df4yQYbvNhyT8wq9r7SajzJd%2Bx/luK5AvD08gJuNsXwWuH4S/8edxqJp42q4cmstHl3/ylAD%2BGgIP8IAQI5h6ZccsY4fbPpZryBt8VNtu/22qB53dTWjCwpNlPme6PyW7VDtRQlFBNNqcLfb2pYY6/fqI7jiMj8JgD341N%2BvwH4oSQbhApzRn0fRgzbJU6g8TxRCHCcdJs6le1VmF9vaZmLsng7xjtsBkC5h4djaWsufut1lpYRjgTQIUAn5ZS/d93/TmtRC5l9yNByyT0rqU/ukSAiQksUWgoyRq0r/Cp/QyDMg/GEBQ%3D%3D';
  $('.answers').load(url, function() {
    $.getScript(textUrl, function(data, textStatus, jqxhr) {
        console.log(data); //data returned from getScript
        console.log(textStatus); //return "success"
        console.log(jqxhr.status); //200
    });
  });
}); 
4

3 回答 3

2

不确定我是否理解您需要做什么。getScript 有一个成功回调

$('.linkQuestion').on('click', 'a', function() {

var url = $(this).attr('href');
var textUrl = 'https://s3.amazonaws.com/RichText-javascript/richTextEditor.js';

$('.answers').load(url, function() {
    $.getScript(textUrl, function(data, textStatus, jqxhr) {
        console.log(data); //data returned from getScript
        console.log(textStatus); //return "success"
        console.log(jqxhr.status); //200
    });
});

});

于 2012-11-09T08:09:32.347 回答
2

jquery getscript 方法也有一个回调函数,就像点击函数一样。

以下示例来自 jquery 手册:

$.getScript("ajax/test.js", function(data, textStatus, jqxhr) {
   console.log(data); //data returned
   console.log(textStatus); //success
   console.log(jqxhr.status); //200
   console.log('Load was performed.');
   //fire your event here!
});
于 2012-11-09T08:16:16.010 回答
0

ajax.load “数据”还有第三个参数。

加载(网址,[数据],[回调])

您可能想尝试将其作为 NULL 或空对象 {} 传递。

但是,如果 amazonaws.com 不是您正在运行的域,那么您可能遇到了 ajax 问题。@see:同源政策

于 2012-11-09T08:08:53.377 回答