我有以下工作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不是一个函数。
答案 0 :(得分:1)
如@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);
请注意,事件绑定是传递函数引用,而不是函数调用。 myFunc
,而不是myFunc()