Это может быть из-за бессонницы, но у меня возникли проблемы с получением следующей, простой функции 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
. Я собираюсь склонить голову к стене: я не знаю, чего мне не хватает.
Вы изменяете значение retNum только на draggable обработчике событий, которое выполняется только после запуска события.
Но это не произойдет, если это событие не вызвало.
Когда вы вызываете функцию, обработчик может еще не запускаться, поэтому 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;
}