ie与ff下的event事件使用介绍_javascript技巧

event是ie自带的一个对象,而ff中不存在该对象,只能通过传递参数的方式来模拟event

另外ie中使用srcElement去获得事件触发源,ff下使用target。因此使用这两个对象时需要做相关的浏览器兼容。

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>srcElement --http://www.jb51.net/</title>
<script type="text/javascript">
<!--
function Click(event){
event = event? event: window.event
var obj = event.srcElement ? event.srcElement:event.target;
alert(obj.tagName);
}
//-->
</script>
</head>

<body>
<button id="btn" onclick="Click(event)">点击</button>
</body>
</html>

查看运行结果
综合上节attachEvent与addEventListener。

复制代码 代码如下:

<script type="text/javascript">
<!–
function Click(event){
event = event? event: window.event;
var obj = event.srcElement ? event.srcElement:event.target;
alert("eventObj.tabName:" + obj.tagName);
}
var oBtnNew;
window.onload=function(){
oBtnNew=document.getElementById("btnNew");
if(window.attachEvent){
oBtnNew.attachEvent("onclick",hanlder);
oBtnNew.attachEvent("onmouseover",hanlder);
}else{
oBtnNew.addEventListener("click",hanlder,false);
oBtnNew.addEventListener("mouseover",hanlder,false);
}
/*或者采用下面试
oBtnNew.onclick=hanlder;
oBtnNew.onmouseover=hanlder;*/
}
function hanlder(event){
event=event?event:window.event;
if(event.type=="click")
oBtnNew.innerHTML="发生了onclick事件";
else if(event.type=="mouseover")
oBtnNew.innerHTML="发生了onmouseover事件";
}
//–>
</script>
</head>
<body>
<button id="btn" onclick="Click(event)">点击</button>
<button id="btnNew">添加事件点击</button>

时间: 2024-10-29 13:45:05

ie与ff下的event事件使用介绍_javascript技巧的相关文章

关于onchange事件在IE和FF下的表现及解决方法_javascript技巧

在最近做的一个项目中,有这么一个功能点:页面上有一个checkbox,当用户选择或者取消选择该checkbox时会向后台发一个jsonp请求.当时的实现是为这个checkbox添加一个onchange事件,但结果却出人意料,为此,我深入的研究了一下,发现了onchange事件在IE和FF下的表现存在着以下问题. 问题①:在FF下,当改变checkbox的选中状态时,会马上触发onchange事件.但在IE下改变checkbox的选中状态时,并不会马上出发onchange事件,而是需要等待chec

IE和firefox浏览器的event事件兼容性汇总_javascript技巧

1,关于event的用法 存在问题:IE中可以直接使用event对象,但是Mozilla不可以直接使用. 例如: <input type="button" value="clickMe" nclick="doIt()"> <script. language="javascript">      function doIt(){             alert(event);        } <

IE的事件传递-event.cancelBubble示例介绍_javascript技巧

关于event.cancelBubble,由于HTML中的对象都是层次结构,比如一个Table包含了多个TR,一个TR包含了多个TD Bubble就是一个事件可以从子节点向父节点传递,比如鼠标点击了一个TD,当前的event.srcElement就是这个TD,但是这种冒泡机制使你可以从TR或者Table处截获这个点击事件,但是如果你event.cancelBubble,则就不能上传事件. 例子: 复制代码 代码如下: <html> <body> <table border=&

javascript 事件处理程序介绍_javascript技巧

1.DOM0级事件处理程序 将一个函数值给一个事件处理程序属性. 例如: 复制代码 代码如下: var btn = document.getElementById("myBtn"); btn.onclick = funtion(){ alert(this.id); //"myBtn" } 删除事件,btn.onclick = null; -----------------------------------------------------------------

Javascript中的window.event.keyCode使用介绍_javascript技巧

主要就是为了监听键盘按下的是哪个键,并且转成ASCII码; 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m

JS中事件冒泡和事件捕获介绍_javascript技巧

谈起JavaScript的 事件,事件冒泡.事件捕获.阻止默认事件这三个话题,无论是面试还是在平时的工作中,都很难避免.事件捕获阶段:事件从最上一级标签开始往下查找,直到捕获到事件目标(target).事件冒泡阶段:事件从事件目标(target)开始,往上冒泡直到页面的最上一级标签. 1.冒泡事件: 事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发.通俗来讲就是,就是当设定了多个div的嵌套时:即建立了父子关系,当父div与子div共同加入了onclick事件时,

火狐和ie下获取javascript 获取event的方法(推荐)_javascript技巧

javascript 获取event 先从一个简单的例子说起,一个简单的button控件如下: <input type='button' name='mybtn' id='mybtn' onclick='myFunc()'/> 然后为其注册事件,这样的情况,怎么在javascript里获取event呢,特别是firefox的情况.请看: <script type='text/javascript'> function myFunc(){ var ev = window.event

JavaScript Event事件学习第一章 Event介绍_javascript技巧

没有event就没有脚本.可以看看任何有JavaScript代码的网页:几乎所有的例子都有一个事件触发了脚本.原因非常简单.JavaScript就是给你的页面添加内部活动:用户做一些事情然后页面做出回应. 因此JavaScript就需要一个方法能够检测到用户的动作然后才能知道什么时候做出反应.这还需要知道那个函数会被执行,函数会做一些你认为的给你的网页增色的动作.这些文字描述了如何去写这样的脚本.虽然不容易,但是这是一个很让人满足的工作. 当用户做了什么事情event就发生了,当然还有一些eve

IE和FireFox(FF)中js和css的不同_javascript技巧

在IE和FireFox(FF)中js和css的不同 css: 1. ul标签中FF中有个padding值,却没有margin值,而在IE中正好相反 解决办法:将ul的padding和margin都设为0(也可以不是0)如:padding:0;margin:0;list-style:none; js: 1. IE中innerText在FF中没有,使用textContent; eg: 复制代码 代码如下: var obj=document.getElementById("_td"); va