我正在生成具有唯一 id 的动态 css 按钮,并且我正在使用以下单击处理程序捕获单击事件
$(document.body).on('click', 'a', function() {
if (typeof(this.id) != "undefined") { //check if id exists
var n = this.id.split("%");
if (n[0] == "jsonpbtn") { //check if one of our buttons
var surl = "http://www.blah.com/tree/jsonp/foo/" + n[1];
$.ajax({
url: surl,
cache: false,
dataType: "jsonp",
jsonp: false,
jsonpCallback: 'foo',
error: function(XHR, textStatus, errorThrown) {
alert(textStatus + ":" + errorThrown)
},
success: function(foo) {
$('#blah' + foo.id).html(foo.message);
}
});
}
}
});
尽管 ajax 调用有效,但页面会生成错误“parsererror:Error: foo was not called”;我相信问题是这会遍历页面上的所有“a”元素并为每个“jsonpbtn”调用函数?