阅读 333

JavaScript 浏览器交互:alert、prompt 和 confirm

交互:alert、prompt 和 confirm

本教程的这部分内容主要使用原生 JavaScript,你无需针对特定环境进行调整。

但我们仍然会使用浏览器作为演示环境。所以我们至少应该知道一些用户界面函数。在这一节,我们一起来熟悉一下浏览器中 alertpromptconfirm 函数的用法。

alert

语法:

alert(message);
复制代码

运行这行代码,浏览器会弹出一个信息弹窗并暂停脚本,直到用户点击了“确定”。

举个例子:

alert("Hello");
复制代码

弹出的这个带有信息的小窗口被称为 模态窗。"modal" 意味着用户不能与页面的其他部分(例如点击其他按钮等)进行交互,直到他们处理完窗口。在上面示例这种情况下 —— 直到用户点击“确定”按钮。

prompt

prompt 函数接收两个参数:

result = prompt(title, [default]);
复制代码

浏览器会显示一个带有文本消息的模态窗口,还有 input 框和确定/取消按钮。

title:显示给用户的文本

default:可选的第二个参数,指定 input 框的初始值。

用户可以在 prompt 对话框的 input 框内输入一些内容,然后点击确定。或者他们可以通过按“取消”按钮或按下键盘的 key:Esc 键,以取消输入。

prompt 将返回用户在 input 框内输入的文本,如果用户取消了输入,则返回 null

举个例子:

let age = prompt('How old are you?', 100);

alert(`You are ${age} years old!`); // You are 100 years old!
复制代码

IE 浏览器会提供默认值

第二个参数是可选的。但是如果我们不提供的话,Internet Explorer 会把 "undefined" 插入到 prompt。

我们可以在 Internet Explorer 中运行下面这行代码来看看效果:

let test = prompt("Test");
复制代码

所以,为了 prompt 在 IE 中有好的效果,我们建议始终提供第二个参数:

let test = prompt("Test", ''); // <-- for IE
复制代码

confirm

语法:

result = confirm(question);
复制代码

confirm 函数显示一个带有 question 以及确定和取消两个按钮的模态窗口。

点击确定返回 true,点击取消返回 false

例如:

let isBoss = confirm("Are you the boss?");

alert( isBoss ); // 如果“确定”按钮被按下,则显示 true
复制代码

总结

我们学习了与用户交互的 3 个浏览器的特定函数:

alert:显示信息。

prompt:显示信息要求用户输入文本。点击确定返回文本,点击取消或按下 key:Esc 键返回 null

confirm:显示信息等待用户点击确定或取消。点击确定返回 true,点击取消或按下 key:Esc 键返回 false

这些方法都是模态的:它们暂停脚本的执行,并且不允许用户与该页面的其余部分进行交互,直到窗口被解除。

上述所有方法共有两个限制:

  1. 模态窗口的确切位置由浏览器决定。通常在页面中心。
  2. 窗口的确切外观也取决于浏览器。我们不能修改它。

这就是简单的代价。还有其他一些方法可以显示更漂亮的窗口,并与用户进行更丰富的交互,但如果“花里胡哨”不是非常重要,那使用本节讲的这些方法也挺好。

作业题

先自己做题目再看答案。

创建一个简单的页面

重要程度:⭐️⭐️⭐️⭐️

创建一个要求用户输入 name,并通过浏览器窗口对键入的内容进行输出的 web 页面。

答案:

在微信公众号「技术漫谈」后台回复 1-2-9 获取本题答案。


现代 JavaScript 教程:开源的现代 JavaScript 从入门到进阶的优质教程。React 官方文档推荐,与 MDN 并列的 JavaScript 学习教程

在线免费阅读:zh.javascript.info


扫描下方二维码,关注微信公众号「技术漫谈」,订阅更多精彩内容。

关注下面的标签,发现更多相似文章
评论