studyblog

window.location对象:

window.location.href=‘’;//重新导航到新页面,可以取值,也可以赋值。

window.location.reload();//刷新当前页

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

altKey属性,bool类型,表示发生事件时alt键是否被按下,类似的还有ctrlKey、shiftKey属性,例子 <input type="button" value="点击" onclick="if(event.altKey){alert(\'Alt点击\')}else{alert(\'普通点击\')}" /> ;

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

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

//window.event.returnValue不兼容火狐浏览器

window.event对象的成员(接上页):

srcElement,获得事件源对象。几个事件共享一个事件响应函数用。****_click(object sender,EventArgs e)//只有IE支持。

button,发生事件时鼠标按键,1为左键,2为右键,3为左右键同时按。//要测试event.button的值的时候,请在onmousedown事件中测试。如果在onclick事件中只能识别鼠标左键的单击。

<a href="http://www.baidu.com" onclick="alert(\'禁止访问!\');window.event.returnValue=false;">百毒</a>
<form action="a.aspx">
    <input type="submit" value="提交" onclick="alert(\'数据有问题!\');window.event.returnValue=false;" />
</form>

 

(*)screen对象,屏幕的信息

alert("分辨率:" + screen.width + "*" + screen.height);

        if (screen.width < 1024 || screen.height < 768) {

            alert("分辨率太低!");

        }

clipboardData对象,对粘贴板的操作。clearData("Text")清空粘贴板;getData("Text")读取粘贴板的值,返回值为粘贴板中的内容;setData("Text",val),设置粘贴板中的值。

案例:复制地址给友好。见备注。

当复制的时候body的oncopy方法被触发,直接return false就是禁止复制。<body oncopy="alert(\'禁止复制!\');return false;"

很多元素也有oncopy、onpaste事件:

案例:禁止粘贴帐号。见备注。

 

<input type="button" value="推荐给好友" onclick="clipboardData.setData(\'Text\',\'推荐给你一个网站,很好玩\'+location.href);alert(\'已经将网址放到粘贴板中,发给你的好友即可\');"/>
帐号:<input type="text" /><br />
重复帐号:<input type="text" onpaste="alert(\'为保证帐号的正确,请勿粘贴帐号\');return false;" />

 

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

function modifyClipboard() {

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

        }

oncopy="setTimeout(\'modifyClipboard()\',100)"。用户复制动作发生0.1秒以后再去改粘贴板中的内容。100ms只是一个经常取值,写1000、10、50、200……都行。不能直接在oncopy里修改粘贴板。

不能直接在oncopy中执行对粘贴板的操作,因此设定定时器,0.1秒以后执行,这样就不再oncopy的执行调用栈上了。

 

history操作历史记录

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

document属性。是最复杂的属性之一。后面讲解详细使用。

参考:雪维网 http://xuevi.com

分类:

技术点:

相关文章:

  • 2021-10-13
  • 2021-10-15
  • 2021-10-31
  • 2021-10-13
  • 2021-09-28
  • 2021-09-28
  • 2021-10-25
  • 2021-08-11
猜你喜欢
  • 2021-09-28
  • 2021-09-28
  • 2021-09-28
  • 2021-09-28
  • 2021-09-28
  • 2021-11-27
  • 2021-09-28
相关资源
相似解决方案