我想分配$阿賈克斯()函數,以便它仍然可以在下一次函數被調用內部的變量中......
這是可能?
var xxx = 1;
沒有做這項工作。
謝謝!
我想分配$阿賈克斯()函數,以便它仍然可以在下一次函數被調用內部的變量中......
這是可能?
var xxx = 1;
沒有做這項工作。
謝謝!
我認爲你應該做這樣的事情,並避免 DOM操作爲...
(function($){
var YourApp = {
var your_vault : "",
binders : function(){
$('#button').on('click',YourApp.ajaxRequest);
},
ajaxRequest : function() {
// Do something with YourApp.your_vault
$.ajax({
url: 'http://someurl.com',
succes: function(){
// Modifying your value:
YourApp.your_vault = 'A wonderfull new value';
}
});
}
};
YourApp.binders();
})(jQuery);
因爲我沒有從你的應用程序真正的代碼我無法給出更精確的代碼,但我想你會明白的。
關鍵的想法是範圍。無論何時您將自己的變體放在更高的範圍內,您都可以使用var
關鍵字在較低範圍內修改它,而不使用。
該變量必須存儲在一個靜態位置,例如,隱藏的輸入或數據屬性。
$('#hiddenId').val(1);
// Or
$('#someFooId').data('last-ajax-value', 1);
下一次調用該函數,用這個來獲取前值:
var lastValue = $('#hiddenId').val();
// Or
var lastValue = $('#someFooId').data('last-ajax-value');
說明:與匹配的元素相關聯存儲任意數據
如果您的變量是在glob中定義的等級,那麼它可以在許多地方使用。
您需要了解variable scoping,這同樣適用於javascript,無論它運行哪個函數。
+1爲鏈接... TFS – Karma
我認爲這不是*必須*。你的解決方案更快,但不是最好的。如果他已經全部設置在一個對象內部,他可以改變對象的屬性並在以後重用。 –
@AntonioLaguna。可能是真的,**很難分辨出他的問題的最佳方式是什麼** :( – gdoron
非常人爲的解決方案,他可以將數據存儲在更高範圍內的任何變量中,而不會回顧到附加到DOM元素 – lanzz