网站地图    收藏   

主页 > 前端 > javascript >

js window.event对象使用方法介绍

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] js中window.event用来获得发生事件时的信息,事件不局限于window对象的事件,所有元素的事件都可以通过event属性取到相关信息。...

event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。
event对象只在事件发生的过程中才有效。
event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。

例1

 代码如下 复制代码

<SCRIPT LANGUAGE="JScript">
function cancelLink() {
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
window.event.returnValue = false;
}
</SCRIPT>
<BODY onclick="cancelLink()">
下面的例子在状态栏上显示鼠标的当前位置。
<BODY onmousemove="window.status = 'X=' + window.event.x + ' Y=' + window.event.y">

window.event is undefind问题解决

解决一

用兼容方法吧,

 代码如下 复制代码

if(window.event)
     window.event.returnValue = false;
else
     e.preventDefault();//for firefox

解决二

 代码如下 复制代码

function linksover(e){ 
    e = e||window.event;
    var div=document.createElement("div"); 
    div.className="titles"; 
    div.style.position="absolute"; 
    div.style.left=e.clientX; 
    div.style.top=e.clientY; 
    div.innerText=this.innerText; 

window.event对象在ie与ff中的区别

1、window.event

IE:有window.event对象

FF:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=domousemove(event)

 代码如下 复制代码

<input type="button" onmousemove="showDiv(event);"//event不需要加引号
function showDiv(event)
{
var event=window.event||event;
event.clientX;
event.clientY;
}

2 、鼠标当前坐标

 代码如下 复制代码

IE::event.x和event.y。

FF:event.pagex和event.pagey。

通用:两者都有event.clientx和event.clienty属性。

3 、鼠标当前坐标(加上滚动条滚过的距离)

 代码如下 复制代码

IE:event.offsetx和event.offsety。

FF:event.layerx和event.layery。

4、标签的x和y的坐标位置:style.posleft 和 style.postop

IE:有。

FF:没有。

通用:object.offsetleft 和 object.offsettop。

5、窗体的高度和宽度

 代码如下 复制代码

IE:document.body.offsetwidth和document.body.offsetheight。注意:此时页面一定要有body标签。

FF:windows.innerwidth和windows.innerhegiht,以及document.documentelement.clientwidth和

document.documentelement.clientheight。

通用:document.body.clientwidth和document.body.clientheight。

6、添加事件

 代码如下 复制代码

ie:element.attachevent(”onclick”, func);。

ff:element.addeventlistener(”click”, func, true)。

通用:element.onclick=func。虽然都可以使用onclick事件,但是onclick和上面两种方法的效果是不一样的, onclick只有执行一个过程,而attachevent和addeventlistener执行的是一个过程列表,也就是多个过程。例

如:element.attachevent(”onclick”, func1);element.attachevent(”onclick”, func2)这样func1和func2都会被执

行。

7、标签的自定义属性

ie:如果给标签div1定义了一个属性value,可以div1.value和div1[”value”]取得该值。

ff:不能用div1.value和div1[”value”]取。

通用:div1.getattribute(”value”)。

8、父节点、子节点和删除节点

 代码如下 复制代码

ie:parentelement、parement.children,element.romovenode(true)。

ff:parentnode、parentnode.childnodes,node.parentnode.removechild(node)。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论