我有以下有效的 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 不是一个函数。
最佳答案
正如@dystroy所说,你尝试过
function myFunc(event){
return $('.datetime_field').datetimepicker({
altField: '#datetime_to_server',
altFormat: 'yy-m-d',
altFieldTimeOnly: false,
altTimeFormat: 'hh:mm:00'
});
}
然后
$(document).on('nested:fieldAdded', myFunc);
和
(function() {
$(document).ready(myFunc);
}).call(this);
请注意,事件绑定(bind)是传递函数引用,而不是函数调用。 myFunc
,而不是 myFunc()
关于javascript - 提取代码并将其放入另一个函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16015943/