当涉及到 BOM(浏览器对象模型)中的对话框时,我们可以使用以下方法来与用户进行交互。
-
alert() 对话框: 这个对话框用于向用户显示一个简单的提示信息,并等待用户点击确定按钮后关闭对话框。
alert("Hello World!");
-
confirm() 对话框: 这个对话框用于向用户显示一个带有确定和取消按钮的对话框,并等待用户点击其中一个按钮来确定或取消操作。根据用户的选择,confirm() 方法返回一个布尔值(true 或 false)。
if (confirm("Are you sure?")) { // 用户点击了确定按钮 } else { // 用户点击了取消按钮 }
-
prompt() 对话框: 这个对话框用于向用户显示一个带有输入框的对话框,用户可以在输入框中输入文本,并等待用户点击确定或取消按钮。根据用户的选择,prompt() 方法返回用户输入的文本或一个 null 值。
var name = prompt("Please enter your name:"); if (name != null && name != "") { // 用户点击了确定按钮,并且输入了内容 }
以上方法均会阻止后续的代码执行,直到用户对对话框进行操作。因此,在使用这些对话框时,需要注意代码的执行顺序。
下面是一个简单的示例,演示了如何使用这些对话框:
function showConfirmation() {
if (confirm("Are you sure?")) {
alert("You clicked OK.");
} else {
alert("You clicked Cancel.");
}
}
function showPrompt() {
var name = prompt("Please enter your name:");
if (name != null && name !== "") {
alert("Hello, " + name + "!");
} else {
alert("You didn't enter your name.");
}
}
在上述示例中,当用户点击确认按钮时,会显示一个带有 "You clicked OK." 的提示框。当用户点击取消按钮时,会显示一个带有 "You clicked Cancel." 的提示框。而对于 prompt() 对话框,如果用户输入了内容并点击确认按钮,则会显示一个带有 "Hello, [输入的名字]!" 的提示框。如果用户点击取消按钮或者未输入任何内容,则会显示一个带有 "You didn't enter your name." 的提示框。
这些对话框提供了一种简单的方式来与用户进行交互,但请注意不要滥用对话框,以免干扰用户体验。