1
我有以下工作JS/jQuery代碼:提取代碼,把它放在另一個函數
$(document).on('nested:fieldAdded', function(event){
return $('.datetime_field').datetimepicker({
altField: '#datetime_to_server',
altFormat: 'yy-m-d',
altFieldTimeOnly: false,
altTimeFormat: 'hh:mm:00'
});
})
全功能的事件在其他地方也稱爲:
(function() {
$(document).ready(function() {
return $('.datetime_field').datetimepicker({
altField: '#datetime_to_server',
altFormat: 'yy-m-d',
altFieldTimeOnly: false,
altTimeFormat: 'hh:mm:00'
});
});
}).call(this);
我想提取相同代碼並給他打電話。問題是我嘗試過,但我可以讓它工作。我如何提取類似的代碼並從這兩個不同的地方調用它?
編輯:我想這:
$(document).on('nested:fieldAdded', refresh_datetime_listener())
function refresh_datetime_listener(){
return $('.datetime_field').datetimepicker({
altField: '#datetime_to_server',
altFormat: 'yy-m-d',
altFieldTimeOnly: false,
altTimeFormat: 'hh:mm:00'
});
}
但它說的DateTimePicker是不是一個函數。
你是怎麼試過的?目前還不清楚爲什麼你不能簡單地聲明一個函數。 –
關於你的編輯:'on'需要一個*函數*,但是你要給它一個函數的結果*(這裏恰好是一個'jQuery'對象)。函數末尾的'()'表示「調用'refresh_datetime_listener'並將其返回值傳遞給'on''。因此,當事件發生的時候,'on'嘗試調用一個'jQuery'對象作爲函數,這並不意外失敗。 – apsillers