JS等待回应

时间:2016-10-01 23:06:06

标签: javascript callback alert

我想替换JS警报和确认按钮。造成这种情况的主要原因是此窗口上的复选框'阻止对话框,这大多数时间是由用户自动选择的! :)

因此,点击按钮会出现一个模态窗口,但该功能不会等待用户响应。

我不想使用Jquery UI插件,现在还不知道如何使用回调来解决这个问题。

请帮忙吗?

更新

my_function(){
if(confirm('Are you sure?'))
 {
   ** do something **
 }
}

所以,我想替换确认写一个新的本地函数,它将取代上面的函数:

confirm('text'){
** Do something **
}

3 个答案:

答案 0 :(得分:2)

public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_main); list = (ListView) findViewById(R.id.list);// => this is the error ... list.setOnItemClickListener(new Adapter.OnItemClickListener() {//this can't work because list isn't in layout=>activity_main .... 是同步的(等待用户输入)函数,因为它是本机实现的。您可以重新定义此函数,但无法同步实现确认对话框(无回调)。您应该考虑使用bootstrap modal或其他

答案 1 :(得分:0)

你需要使用回调吗? 你能尝试在提交按钮上使用事件监听器来调用该函数吗?

function doSomething(){ var text = document.querySelectory("#answer").val; console.log("You answered "+text) }

<input id="answer" type="text"><button onclick="doSomething()">

答案 2 :(得分:0)

JavaScript是一种单线程语言。只有几次你可以阻止&#39;执行的线程是&#39; alert&#39;,&#39; confirm&#39;和&#39; prompt&#39;。其他场景需要异步回调。

promise对象使处理异步逻辑变得更容易,而且available对于大多数浏览器本身而言,并且通过shim支持所有浏览器。

还有许多库提供比标准浏览器模式更丰富的模态。

无论您想要什么方法,您都需要了解JavaScript的回调和异步编程。