时间:2021-07-01 10:21:17 帮助过:2人阅读
今天为大家简单介绍一下 JavaScript 对话框和状态栏。
javascript 与 对话框:
在客户端浏览器中,三种常见的Window方法用来弹出简单对话框,它们分别是 alert(),confirm()和prompt()。alert()用于向用户显示消息。confirm()要求用户点击确认或取消。prompt()要求用户输入一个字符串。下面的三幅图分别为alert(),confirm()和prompt()。
alert()方法弹出的对话框只是显示提示信息,对用户起提醒作用。
confirm()方法用于询问用户是否确认,展示两个按钮——确认和取消。相当于if/else结构,如果点击确认按钮,则继续执行下面的程序,如果点击取消按钮,则返回false。
prompt()方法带有一个输入框,其返回的内容就是用户在输入框中输入的内容。目的就是获取用户的输入。
无论是confirm()和prompt()都会产生阻塞,也就是说,在用户关掉它们所显示的对话框之前,它们不会返回。同时也就意味着在弹出一个对话框时,代码会停止运行。如果当前正在装载文档,也会停止装载,直到用户用要求的输入进行了响应为止。没有方法可以防止这些方法产生阻塞,因为它们的返回值是用户的输入,所以在返回之前它们必须等待用户进行输入。
在大多数浏览器中,alert()也会产生阻塞,并等待用户关闭对话框。但是在某些浏览器中(尤其是UNIX平台上的Netscape3和4),alert()方法并不产生阻塞。不过小小子在fedora11上面做测试,也是会产生阻塞的,当然我没有用netscape试验,我用的是Firefox浏览器测试,同样阻塞。不过犀牛的作者说:
<!--
当鼠标放在上面代码的时候,状态栏会显示:鼠标放在这个链接上面,状态栏显示的内容。
-->
<a href='//www.gxlcms.com' target='_blank' onmouseover="window.status='鼠标放在这个链接上面,状态栏显示的内容。';return true;">脚本之家</a>
上例中的事件处理程序必须得return true;这就通知了浏览器当事件发生的时候不应该执行自己的默认的动作,也就是说不应该在状态栏中显示链接的URL,如果忘记了return true;那么浏览器就会用它自己的URL覆盖处理程序在状态栏中显示的所有信息。
再来看一个defaultStatus的例子吧,将页面状态栏的默认值设定为:欢迎来到本站,小小子感谢您的到来。
defaultStatus = '欢迎来到本站,小小子感谢您的到来';
window.defaultStatus = defaultStatus;
代码演示及说明:
也许有的时候,各位无法看到状态栏上面显示的信息,下面给出方法,希望可以帮助大家:
in Firefox:
1. Go to Tools > Options
2. Click the Content tab
3. Ensure that the JavaScript option is checked
4. Click Advanced (next to the Enable JavaScript option)
5. Check the Change status bar text option
6. Click OK to save this screen
7. Click OK again
In Internet Explorer:
1. Go to Tools > Internet Options
2. Click the Security tab
3. Ensure that the Internet option is selected/highlighted
4. Click Custom Level… (this launches the security settings for the Internet zone)
5. Scroll down until you see Allow status bar updates via script (under the Scripting option). Click Enable
6. Click OK to save this screen
7. Click OK again