以下代码是多余的---同样的匿名函数出现三次。
我如何重构它?
$(".operation").resizable({
create: function(event, ui) {
var width = $(".operation").width()
$("#width span.text").text(width)
},
resize: function(event, ui) {
var width = $(".operation").width()
$("#width span.text").text(width)
},
stop: function(event, ui) {
var width = $(".operation").width()
$("#width span.text").text(width)
},
})
答案 0 :(得分:4)
您可以使用本地变量:
(function() {
var f = function(event,ui) {
var width = $(".operation").width()
$("#width span.text").text(width)
}
$(".operation").resizable({
create: f,
resize: f,
stop: f,
})
})()
好处是你不会污染全局命名空间(全局对象)。
如果您不介意,可以定义一个全局函数。
答案 1 :(得分:3)
我会声明函数:
function setWidth(event, ui) {
var width = $(".operation").width();
$("#width span.text").text(width);
}
$(".operation").resizable({
create: setWidth,
resize: setWidth,
stop: setWidth,
});
答案 2 :(得分:1)
声明一个新函数
function xxx(event, ui) {
var width = $(".operation").width();
$("#width span.text").text(width);
}
然后将其设置为回调:
$(".operation").resizable({
create: xxx,
resize: xxx,
stop: xxx
});