JavaScript交互:alert, prompt, confirm
交互:警告alert、提示prompt、确认confirm
由于我们将使用浏览器作为我们的演示环境,让我们看看几个与用户交互的函数:alert、prompt和confirm。
警报alert
这个我们已经见过了。它显示一条消息并等待用户按“确定”。
代码如下:
<!DOCTYPE HTML> <html> <body> <script> alert( '你好!' ); </script> </body> </html>
带有消息的迷你窗口称为模态窗口。“模态”这个词意味着访问者不能与页面的其余部分交互,不能按其他按钮等,直到他们处理了窗口。在这种情况下 - 直到他们按“确定”。
提示prompt
该函数prompt接受两个参数:
result = prompt(title, [default]);
它显示了一个带有文本消息的模式窗口、一个访问者的输入字段和按钮确定/取消。
title
显示访问者的文本。
default
可选的第二个参数,输入字段的初始值。
语法中的方括号 [...]:default上面语法中的方括号表示该参数是可选的,不是必需的。
访问者可以在提示输入字段中输入一些内容,然后按 OK。然后我们在result. 或者,他们可以按取消或敲击取消输入Esc键,然后我们得到null的result。
调用prompt从输入字段返回文本或者null输入是否被取消。
这里可以输入你想要输入的值,默认值在程序中设置了100,点击确认后的效果如下:
代码如下:
<!DOCTYPE HTML> <html> <body> <script> let age = prompt('你多少岁了?', 100); alert(`你已经 ${age} 岁了!`); // You are 100 years old! </script> </body> </html>
prompt可以用于与程序交互,需要输入一个值用于计算时使用。
在 IE 中:始终提供一个 default
第二个参数是可选的,但如果我们不提供它,Internet Explorer 会"undefined"在提示中插入文本。
在 Internet Explorer 中运行此代码以查看:
let test = prompt("Test");
因此,为了让 IE 中的提示看起来不错,我们建议始终提供第二个参数:
let test = prompt("Test", ''); // <-- for IE
确认confirm
语法:
result = confirm(question);
该函数confirm显示一个带有question和两个按钮的模式窗口:OK 和 Cancel。
如果点击确定,返回的结果是true,如果是按下取消返回值是false。返回值将会保存在下面例子中的变量isBoss中。
例如:
let isBoss = confirm("Are you the boss?"); alert( isBoss ); // true if OK is pressed
概括
我们介绍了 3 个特定于浏览器的功能来与访问者互动:
alert
显示一条消息。
prompt
显示一条消息,要求用户输入文本。它返回文本,或者,如果取消按钮或被Esc单击,则返回null。
confirm
显示一条消息并等待用户按“确定”或“取消”。它返回trueOK 和falseCancel/ Esc。
所有这些方法都是模态的:它们暂停脚本执行并且不允许访问者与页面的其余部分进行交互,直到窗口被关闭。
上述所有方法都有两个限制:
模态窗口的确切位置由浏览器决定。通常,它位于中心。
窗口的确切外观还取决于浏览器。我们不能修改它。
这就是简单的代价。还有其他方法可以向访问者展示更好的窗口和更丰富的互动,但如果“花里胡哨”无关紧要,这些方法就很好用。