可能是由于失眠引起的,但是我一直无法使以下简单的JS函数正常工作。
function numFunction() {
var retNum = null;
$('.draggable').draggable($state).on("drag", function (event, ui) {
retNum = 31;
});
return retNum;
}
var finNum = numFunction();
就像这样简单:
我们首先创建一个名称为
numFunction
的函数。定义了变量
retNum
。变量由于jQuery UI拖动事件触发的事件而改变了它的值(效果很好)。返回
retNum
最后但并非最不重要的一点是,使用函数的(假定)新值
finNum
定义新变量31
。故事结局。
不幸的是,它不起作用。
console.log(finNum)
仅返回null
。我要把头撞在墙上:我不知道我在想什么。 最佳答案
您仅在可拖动事件处理程序上更改retNum的值,该事件处理程序仅在触发事件后才执行。
但是,除非触发该事件,否则它不会发生。
当您调用函数时,处理程序可能尚未触发,因此retNum
仍为null
这样做:
function numFunction() {
var retNum = null;
$('.draggable').draggable($state).on("drag", function (event, ui) {
retNum = 31;
}).trigger('drag');<- trigger it immediately to set the value of retNum to 13
return retNum;
}