gpt4 book ai didi

javascript - 根据用户输入返回值

转载 作者:行者123 更新时间:2023-12-01 02:14:01 25 4
gpt4 key购买 nike

使用 jQuery (1.7),而不是 jQueryUI - (如何)可以完成以下任务?

  • 调用函数 1
  • 在函数 1 中,定义了一个变量并将其设置为函数2的结果
  • 调用时,函数 2 会“即时”创建 2 个按钮,如果单击第一个返回“true”值,第二个返回“false”
  • 在函数 1 中,设置为函数 2 的结果的变量应该等到用户输入并返回值
  • 然后应评估该值

有没有办法在 jQuery 中执行此操作,而不使用间隔/超时等来继续寻找设置为用户输入的中间值?

我概述了以下原则:

function function1(){

var myVariable=function2;
// nothing should happen at this point until function2 has returned a response
if(myVariable){
alert('true');
}else{
alert('false');
}
}


function function2(){

var yesbutton=$("<input type='submit' value='yes' />");
var nobutton=$("<input type='submit' value='no' />");
$('body').append(yesbutton)
$('body').append(nobutton)
nobutton.click(function(){
return false;
});
yesbutton.click(function(){
return true;
});

}


function1();

一如既往,非常感谢您的帮助!

最佳答案

这是有可能的,只是可能不像你想象的那样。

function function1(){

var myVariable=function2();
// nothing should happen at this point until function2 has returned a response
myVariable.done(function(){
alert('true');
}).fail(function(){
alert('false');
});
}


function function2(){
var deferred = $.Deferred();

var yesbutton=$("<input type='submit' value='yes' />");
var nobutton=$("<input type='submit' value='no' />");
$('body').append(yesbutton)
$('body').append(nobutton)
nobutton.click(deferred.reject);
yesbutton.click(deferred.resolve);

return deferred.promise().always(function(){
yesbutton.add(nobutton).remove();
});

}


function1();

关于javascript - 根据用户输入返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9195642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com