我正在编写一个插件,有一个ajax调用向用户显示数据。
如果用户想在ajax上成功添加一些js?他可以从他的js脚本中做到这一点,就像瞄准这个ajax成功事件一样。
例如:
$(document).on('click','button',function(){
$.ajax({
url: 'url.php',
success: function(response){
/** HOOK HERE **/
$('.display').html(response);
}
})
})
现在,用户希望将此alert('User data');
添加到ajax成功通话
答案 0 :(得分:1)
你只需要记住函数就像数字,字符串等对象。所以你可以为他提供一个变量来附加函数并调用它(如果有的话):
MyPlugin = {
onAjaxSuccess: null
};
$(document).on('click','button',function(){
$.ajax({
url: 'url.php',
success: function(response){
/** HOOK HERE **/
if (typeof MyPlugin.onAjaxSuccess == 'function') {
MyPlugin.onAjaxSuccess(response);
}
$('.display').html(response);
}
})
})
现在您的用户可以这样做:
MyPlugin.onAjaxSuccess = function (response) {
console.log(response)
};
这是与旧式DOM .onXXX
回调类似的API。就像
document.getElementById('myButton').onclick = function () {
alert('HA');
};
如果您希望您的API看起来更现代,并且所有想象都可以模仿jQuery的风格:
MyPlugin = {
onAjaxSuccess: null,
on: function (e_type,callback) {
if (e_type == 'ajaxSuccess') {
this.onAjaxSuccess = callback;
}
}
};
现在您的用户可以执行此操作:
MyPlugin.on('ajaxSuccess',function(result){
console.log(result);
});