我有一个jquery
onClick
函数:
$('body').on('click', '#id_name', function() {
...
我希望将此函数作为ajax调用的另一个函数执行(目前这只是onclick
)。
如果我的ajax
来电成功,那么:
success: function() {
// then execute top function
}
可以这样做吗?
答案 0 :(得分:5)
然后你可以在ajax成功回调中使用$('#id_name').trigger('click')
。
答案 1 :(得分:1)
使该函数成为命名(非匿名)函数:
var someFunction = function () {
//...
};
然后您可以将它用于点击事件:
$('body').on('click', '#id_name', someFunction);
或者你的回调:
success: someFunction
或者从中调用它:
success: function () {
someFunction();
}
等。基本上,一旦你给这个函数命名并且它不再是匿名的,你可以在它的范围内的任何地方引用它。
答案 2 :(得分:1)
创建委托功能并单独调用
例如
function mainFunction(){
// Rest of code
}
点击调用此
$('body').on('click', '#id_name', mainFunction)
在这样的ajax成功调用中
success: function() {
mainFunction()
}
答案 3 :(得分:1)
好吧,你可以明确地触发click事件。或者甚至更好,将您的点击代码外包到自己的功能中,然后您可以在成功功能中调用它。所以,而不是
success: function() {
$('#id_name').trigger('click')
}
做得更好:
function clickEvent() {
// do something in here...
}
$('body').on(
'click',
'#id_name',
function (eventArgs) {
eventArgs.preventDefault();
clickEvent();
}
);
然后您可以通过以下方式将其调用到您的成功回调中:
success: function() {
clickEvent();
}