您的位置:首页 > 其它

Dom笔记4:Window对象的属性

2011-09-06 08:35 281 查看
1: window.location.href:用于获取当前页面的地址或者重定向网页地址,和 navigate 方法效果一样。 window.location.reload()  刷新页面:

<input id="Button1" type="button" value="当前地址" onclick="alert(location.href)" />
<input id="Button2" type="button" value="重定向" onclick="location.href='http://www.baidu.com'" />


2: window.event 是非常重要的属性,用来获得发生事件时的信息,事件不局限于window 对象的事件,所有元素的事件都可以通过 event 属性取到相关信息。类似于winForm 中的 e(EventArg).

(1) altKey 属性,这个属性是 bool 类型,表示发生事件时 alt 键是否被按下,类似的还有ctrlKey 、 shiftKey 属性

如:

<input type="button" value=" 点击 " onclick="if(event.altKey){alert('Alt 点击 ')}else{alert(' 普通点击 ')}" />


(2)读取 clientX 、 clientY ,可以获得 发生事件时鼠标在客户区的坐标; screenX 、 screenY  发生事件时鼠标在屏幕上的坐标; offsetX 、 offsetY  发生事件时鼠标相对于事件源(比如点击按钮时触发 onclick )的坐标。

(3)returnValue 属性,这是比较重要的属性,如果将 returnValue 设置为 false ,就会取消默认事件的处理。在超链接的 onclick 里面禁止访问 href 的页面。在表单校验的时候禁止提交表单到服务器,防止错误数据提交给服务器、防止页面刷新。

如:禁止访问百度网页

<a href="http://www.baidu.com" onclick="alert('禁止访问!')">百度</a>
这句代码,虽然弹出禁止访问提示,但关闭提示后,依然转到百度网页上,此时,就可以用这个属性来禁止访问,即是取消默认事件的处理。
<a href="http://www.baidu.com" onclick="alert('禁止访问!');window.event.returnValue=false;" >百度</a>
此时,将 returnValue 设置为 false,程序不再执行对百度访问的默认事件。

(4) srcElement ,获得事件源对象。几个事件共享一个事件响应函数用。

(5) keyCode ,发生事件时的按键值。

(6)button ,发生事件时鼠标按键, 1 为左键, 2 为右键, 3 为左右键同时按。

<body  onmousedown="if(event.button==2){alert(' 禁止复制 ');}">


3: screen 对象,屏幕的信息

函数:

<script type="text/javascript">
function a()
{
alert(" 分辨率: " + screen.width + " * " + screen.height);
if (screen.width < 1024 || screen.height < 768) {
alert(" 分辨率太低! ");
}
}
</script>


4:clipboardData 对象,对粘贴板的操作。 clearData("Text") 清空粘:贴板; getData("Text") 读取粘贴板的值,返回值为粘贴板中的内容; setData("Text",val) ,设置粘贴板中的值。注意,这几个函数的第一个参数,总是Text,因为浏览器只允许复制文本文件。

• 案例:复制地址给友好。

<input id="Button1" type="button" value="分享给好友" onclick="clipboardData.setData('Text','我发现一个好玩的网站'+location.href);alert('已经把网址复制到粘贴板中,赶快通过QQ复制给你的好友吧!');" />


运行如下:



•案例: 当复制的时候 body 的 oncopy 方法被触发,直接 return false 就是禁止复制。当往网页中粘贴进取东西的时候onpaste 事件被触发。

<body oncopy="alert(' 禁止复制! ');return false;"


• 很多元素也都有 oncopy 、 onpaste 事件。

• 案例:禁止粘贴帐号。如手机号码充值,为保证手机号码输入正确,一般把手机号码填写两次,此时用的防止粘贴功能。

手机号码充值
手机号码: <input id="Text1" type="text" />
重复手机号码:<input id="Text2" type="text" onpaste="alert('为保证你的充值正确,禁止粘贴手机号码,请手工输入!');return false;" />




•案例: 在网站中复制文章的时候,为了防止那些拷贝党不添加文章来源,自动在复制的内容后添加版权声明。

function modifyClipboard() {
clipboardData.setData('Text', clipboardData.getData('Text')
+ ' 本文来自传智播客技术专区,转载请注明来源。 ' +
location.href);
}





在oncopy中调用这个函数。
oncopy="setTimeout('modifyClipboard()',100)"


直接在oncopy 里修改粘贴板是修改不了的,因此分两步:

第一步:用户把内容复制到粘贴板中。

第二步:取得粘贴板中的内容,然后再去改粘贴板中的内容(用户复制动作发生0.1 秒以后再去改粘贴板中的内容。100ms 只是一个经常取值,写 1000 、 10 、 50 、 200 …… 都行。),附加上版权声明。 

5:history 操作历史记录

• window.history.back() 后退 ; window.history.forward() 前进。也可用 window.history.go(-1) 、 window.history.go(1) 前进

如:
<input id="Button1" type="button" value="后退" onclick="window.history.back()"/>

6: document 属性。是最复杂的属性之一。后面讲解详细使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息