JavaScript 对话框和状态栏使用说明


Posted in Javascript onOctober 25, 2009

今天为大家简单介绍一下 JavaScript 对话框和状态栏。

javascript 与 对话框:

  • 三种对话框图示:

    在客户端浏览器中,三种常见的Window方法用来弹出简单对话框,它们分别是 alert(),confirm()和prompt()。alert()用于向用户显示消息。confirm()要求用户点击确认或取消。prompt()要求用户输入一个字符串。下面的三幅图分别为alert(),confirm()和prompt()。

    JavaScript 对话框和状态栏使用说明

    alert()对话框提示


    JavaScript 对话框和状态栏使用说明

    confirm()对话框提示


    JavaScript 对话框和状态栏使用说明

    prompt()对话框提示

  • 三种对话框简介:

    alert()方法弹出的对话框只是显示提示信息,对用户起提醒作用。

    confirm()方法用于询问用户是否确认,展示两个按钮——确认和取消。相当于if/else结构,如果点击确认按钮,则继续执行下面的程序,如果点击取消按钮,则返回false。

    prompt()方法带有一个输入框,其返回的内容就是用户在输入框中输入的内容。目的就是获取用户的输入。

  • 对话框阻塞进程简介:

    无论是confirm()和prompt()都会产生阻塞,也就是说,在用户关掉它们所显示的对话框之前,它们不会返回。同时也就意味着在弹出一个对话框时,代码会停止运行。如果当前正在装载文档,也会停止装载,直到用户用要求的输入进行了响应为止。没有方法可以防止这些方法产生阻塞,因为它们的返回值是用户的输入,所以在返回之前它们必须等待用户进行输入。

    在大多数浏览器中,alert()也会产生阻塞,并等待用户关闭对话框。但是在某些浏览器中(尤其是UNIX平台上的Netscape3和4),alert()方法并不产生阻塞。不过小小子在fedora11上面做测试,也是会产生阻塞的,当然我没有用netscape试验,我用的是Firefox浏览器测试,同样阻塞。不过犀牛的作者说:


在实践中,这点小小的不兼容性很少引起问题。
alert(),confirm()和prompt()的用法:
alert('这是一个alert提示,你滴明白?');
confirm('这是一个confirm提示,你是愿意看啊,还是愿意看啊?');
prompt('来,帅哥,告诉哥你的名字吧');

javascript 与 状态栏:
当用户将鼠标放在一个超链接上面的时候,浏览器会在状态栏上面显示出这个超链接所指向的url地址。但是有的时候你会发现当你的鼠标放在超链接或者图片上面的时候,状态栏的上面显示的是一些文本而不是链接地址。
在 javascript 中,浏览器的状态栏上面的内容由 Window 对象的两个属性控制,即 status 和 defaultStatus。所以通过 javascript 可以改变状态栏的默认行为,显示我们所希望显示给用户的信息。
属性status 主要用于存放瞬时消息,即当有触发事件发生的时候才会改变状态栏的信息。而defaultStatus属性指定了显示在状态栏中默认的文本。只有当触发事件发生的时候,状态栏上面的文本才会被指定的status替换,否则将一直显示defaultStatus属性指定的内容。

<!-- 
当鼠标放在上面代码的时候,状态栏会显示:鼠标放在这个链接上面,状态栏显示的内容。 
--> 
<a href='https://3water.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

Javascript 相关文章推荐
js iframe跨域访问(同主域/非同主域)分别深入介绍
Jan 24 Javascript
js动态往表格的td中添加图片并注册事件
Jun 12 Javascript
JS实现可拖曳、可关闭的弹窗效果
Sep 26 Javascript
以Python代码实例展示kNN算法的实际运用
Oct 26 Javascript
SpringMVC返回json数据的三种方式
Dec 10 Javascript
JavaScript驾驭网页-CSS与DOM
Mar 24 Javascript
jQuery侧边栏实现代码
May 06 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
May 17 Javascript
基于JSONP原理解析(推荐)
Dec 04 Javascript
JavaScript面试技巧之数组的一些不low操作
Mar 22 Javascript
Vue如何使用混合Mixins和插件开发详解
Feb 05 Javascript
使用webpack搭建pixi.js开发环境
Feb 12 Javascript
5款Javascript颜色选择器
Oct 25 #Javascript
11款基于Javascript的文件管理器
Oct 25 #Javascript
JavaScript 三种不同位置代码的写法
Oct 25 #Javascript
JavaScript 事件的一些重要说明
Oct 25 #Javascript
javascript写的一个链表实现代码
Oct 25 #Javascript
JavaScript的变量作用域深入理解
Oct 25 #Javascript
理解JavaScript变量作用域更轻松
Oct 25 #Javascript
You might like
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
angular中的post请求处理示例详解
2020/06/30 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
python能否java成为主流语言吗
2020/06/22 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
sklearn中的交叉验证的实现(Cross-Validation)
2021/02/22 Python
HTML5拖拽文件上传的示例代码
2021/03/04 HTML / CSS
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
这段代码难道不该打印出56吗
2013/02/27 面试题
小平您好观后感
2015/06/09 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js