这可能是由于失眠,但我一直无法使用以下简单的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 draggable触发的事件(变得非常好),变量会更改其值。retNum
finNum
,其中包含函数{假设的}新值31
。不幸的是,它不起作用。 console.log(finNum)
仅返回null
。我正要把头撞在墙上:我不知道自己错过了什么。
答案 0 :(得分:1)
您只是在可拖动事件处理程序上更改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;
}