DOM系列(6)——window对象的属性
1、window.location.href='http://www.itcast.cn',重新导向新的地址,和navigate方法效果一样。window.location.reload() 刷新页面。
2、window.event是非常重要的属性,用来获得发生事件时的信息,事件不局限于window对象的事件,所有元素的事件都可以通过event属性取到相关信息。类似于winForm中的e(EventArg).
- altKey属性,bool类型,表示发生事件时alt键是否被按下,类似的还有ctrlKey、shiftKey属性,例子 <input type="button" value="点击" οnclick="if(event.altKey){alert('Alt点击')}else{alert('普通点击')}" /> ;
- clientX、clientY 发生事件时鼠标在客户区的坐标;screenX、screenY 发生事件时鼠标在屏幕上的坐标;offsetX、offsetY 发生事件时鼠标相对于事件源(比如点击按钮时触发onclick)的坐标。
- returnValue属性,如果将returnValue设置为false,就会取消默认事件的处理。在超链接的onclick里面禁止访问href的页面。在表单校验的时候禁止提交表单到服务器,防止错误数据提交给服务器、防止页面刷新。
- srcElement,获得事件源对象。几个事件共享一个事件响应函数用。
- keyCode,发生事件时的按键值。
- button,发生事件时鼠标按键,1为左键,2为右键,3为左右键同时按。<body οnmοusedοwn="if(event.button==2){alert('禁止复制');}">
<a href="http://www.baidu.com" οnclick="alert('禁止访问!');window.event.returnValue=false;">百度</a>
<form action="a.aspx">
<input type="submit" value="提交" οnclick="alert('数据有问题!');window.event.returnValue=false;" />
</form>
3、screen对象,屏幕的信息:
alert("分辨率:" + screen.width + "*" + screen.height);
if (screen.width < 1024 || screen.height < 768) {
alert("分辨率太低!");
}
4、clipboardData对象,对粘贴板的操作。clearData("Text")清空粘贴板;getData("Text")读取粘贴板的值,返回值为粘贴板中的内容;setData("Text",val),设置粘贴板中的值。
(1)案例:复制地址给友好:
<input type="button" value="推荐给好友" οnclick="clipboardData.setData('Text','推荐给你一个网站,很好玩'+location.href);alert('已经将网址放到粘贴板中,发给你的好友即可');"/>
(2)当复制的时候body的oncopy方法被触发,直接return false就是禁止复制:
<body οncοpy="alert('禁止复制!');return false;"
(3)很多元素也有oncopy、onpaste事件。
(4)案例:禁止粘贴帐号,
帐号:<input type="text" /><br />
重复帐号:<input type="text" οnpaste="alert('为保证帐号的正确,请勿粘贴帐号');return false;" />
5、在网站中复制文章的时候,为了防止那些拷贝党不添加文章来源,自动在复制的内容后添加版权声明。
function modifyClipboard() {
clipboardData.setData('Text', clipboardData.getData('Text') + '本文来自传智播客技术专区,转载请注明来源。' + location.href);
}
οncοpy="setTimeout('modifyClipboard()',100)"
(1)用户复制动作发生0.1秒以后再去改粘贴板中的内容。100ms只是一个经常取值,写1000、10、50、200……都行。不能直接在oncopy里修改粘贴板。
(2)不能直接在oncopy中执行对粘贴板的操作,因此设定定时器,0.1秒以后执行,这样就不再oncopy的执行调用栈上了。
6、history操作历史记录:
window.history.back()后退;window.history.forward()前进。
也可以用window.history.go(-1)、window.history.go(1)前进。
7、document属性。是最复杂的属性之一。后面讲解详细使用。
附加:
HTML中的空格跟JavaScript中的空格是两回事,是不一样的。在HTML中, 表示空格,但是在JavaScript中用这个没法标记空格。
上一篇: java读取.properties配置文件的几种方法
下一篇: 致我们终将组件化的 Web
推荐阅读
-
JavaScript中的window对象的属性和方法;JavaScript中如何选取文档元素
-
ES6知识点整理:对象属性新的写法
-
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
-
ES6五种遍历对象属性的方式
-
js中window对象的opener属性的笔记——opener在谷歌浏览器获取不到父窗口引用的原因
-
ES6入门系列 ----- 对象的遍历
-
浅谈JS读取DOM对象(标签)的自定义属性
-
JavaScript系列代码19:Window对象的Alert方法测试
-
遍历DOM对象内的元素属性示例代码_javascript技巧
-
闭包的原理与经典应用场景,访问器属性,类与对象的创建与成员引用,数组与对象的解构过程与经典案例,JS引入到浏览器中的的方法及获取DOM元素的两个API