Javascript 提取代码以将其放入另一个函数中
我有以下工作js/jquery代码:Javascript 提取代码以将其放入另一个函数中,javascript,jquery,refactoring,Javascript,Jquery,Refactoring,我有以下工作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' }); }) 整个函数事件也在别
$(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'
});
}
然后
及
请注意,事件绑定传递的是函数引用,而不是函数调用
myFunc
,而不是@dystroy所说的myFunc()
function myFunc(event){
return $('.datetime_field').datetimepicker({
altField: '#datetime_to_server',
altFormat: 'yy-m-d',
altFieldTimeOnly: false,
altTimeFormat: 'hh:mm:00'
});
}
然后
及
请注意,事件绑定传递的是函数引用,而不是函数调用myFunc
,而不是myFunc()
您是如何尝试的?不清楚为什么不能简单地声明函数。关于您的编辑:on
需要函数,但您给它函数的结果(这里正好是jQuery
对象)。函数末尾的()
表示“调用刷新\u datetime\u侦听器
,并将其返回值传递给
上的”。因此,当触发事件时,on
尝试将jQuery
对象作为函数调用,但意外失败。您是如何尝试的?不清楚为什么不能简单地声明函数。关于您的编辑:on
需要函数,但您给它函数的结果(这里正好是jQuery
对象)。函数末尾的()
表示“调用刷新\u datetime\u侦听器
,并将其返回值传递给
上的”。因此,当触发事件时,on
尝试将jQuery
对象作为函数调用,这并不令人意外地失败。
(function() {
$(document).ready(myFunc);
}).call(this);