一意の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が呼び出されませんでした」というエラーを生成します。問題は、これがページ上のすべての「a」要素をループし、各「jsonpbtn」の関数を呼び出すことだと思いますか?