2016-11-21 120 views
0

我有一個jqueryonClick功能:jQuery的運行的onClick功能作爲獨立的功能

$('body').on('click', '#id_name', function() { 
... 

,我想執行這個功能作爲Ajax調用另一個函數(目前這僅是onclick)。

如果我ajax調用成功則:

success: function() { 
      // then execute top function 
     } 

是有可能做到這一點?

+0

你要回調函數? – Mahi

+0

因此,讓它成爲一個函數並調用函數。 – epascarello

回答

5

然後,您可以在ajax成功回調中使用$('#id_name').trigger('click')

1

使函數命名(非匿名)功能:

var someFunction = function() { 
    //... 
}; 

然後你可以使用它爲您的點擊事件:

$('body').on('click', '#id_name', someFunction); 

或者回調:

success: someFunction 

或從中調用它:

success: function() { 
    someFunction(); 
} 

等。基本上,一旦你給該函數一個名稱,它不再是匿名的,你可以在任何地方引用它的範圍。

1

創建一個委託函數,並分別

叫它例如

function mainFunction(){ 
// Rest of code 
} 

上點擊呼叫此

$('body').on('click', '#id_name', mainFunction) 

內阿賈克斯成功調用這樣

success: function() { 
      mainFunction() 
     } 
1

WEL l,你可以明確地觸發點擊事件。或者甚至更好,將自己的點擊代碼外包給自己的功能,然後你可以在你的成功功能中調用它。所以,相反的

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(); 
}