javascript event在FF和IE的兼容传参心得(绝对好用)


Posted in Javascript onJuly 10, 2014

event在IE和FF不兼容,今天传参碰到些问题,参考网上的一些方法,有所心得:

aClassArray[i].onmouseover = function () { //代码直接写在里面是可以的,要传参也可以传,只是不方便复用 };

aClassArray[i].onmouseover =linkMouseover//不传参的情况下是可以用的,但后续不能用 arguments.callee.caller.arguments[0]

aClassArray[i].onmouseover =linkMouseover()//加括号是错误用法

aClassArray[i].onmouseover = function () { linkMouseover(this) };//this能传进去,可以alert出来,但evt.clientX + "px"就出问题了,是空的。。。 arguments.callee.caller.arguments[0]//可以用这个解决

var src = evt.srcElement || evt.target; //后续还可以跟src

===========================================================================

附上练习代码

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="css/ui-lightness/jquery-ui-1.10.4.custom.css" rel="external nofollow" />
<script src="js/jquery-1.10.2.js"></script>
<script src="js/jquery-ui-1.10.4.custom.js"></script>
<style type="text/css">
.aClass, .aClass:visited {
font-size: 36px;
text-decoration: none;
color: #0094ff;
}


.divTips {
font-size: 20px;
color: red;
border: #f00 1px solid;
position: absolute;
width: 100px;
height: 30px;
}
</style>
<script type="text/javascript">
function initOnOver() {
var titleTips = {
"baidu": "百度网站提示",
"163": "163网站提示",
"google": "google网站提示"
}
var aTag = document.getElementsByTagName("a");
var aClassArray = [];
for (var i = 0; i < aTag.length; i++) {
if (aTag[i].className == "aClass") {
aClassArray[aClassArray.length] = aTag[i];
}
}
for (var i = 0; i < aClassArray.length; i++) {
var e;
aClassArray[i].onmouseover = function () { linkMouseover() };
aClassArray[i].onmouseout = linkMouseout;
}
}
function linkMouseover() {
var divTips = document.createElement("div");
var evt = window.event || arguments.callee.caller.arguments[0]; // 获取event对象
divTips.className = "divTips";
divTips.style.left = evt.clientX + "px";//+px兼容FF
divTips.style.top = evt.clientY + "px";//+px兼容FF
divTips.innerHTML = "test";
document.getElementById("divA").appendChild(divTips);
}
function linkMouseout() {
var divTag = document.getElementsByTagName("div");
for (var i = 0; i < divTag.length; i++) {
if (divTag[i].className == "divTips") {
document.getElementById("divA").removeChild(divTag[i]);
}
}
}
window.onload = initOnOver;
</script>
</head>
<body>
<div id="divA">
<a href="http://www.baidu.com" rel="external nofollow" class="aClass">百度</a>
<br />
<br />
<br />
<a href="http://www.163.com" rel="external nofollow" class="aClass">网易</a>
<br />
<br />
<br />
<a href="http://www.google.com" rel="external nofollow" class="aClass">Google</a>
</div>
</body>
</html>
Javascript 相关文章推荐
JavaScript Timer实现代码
Feb 17 Javascript
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
May 07 Javascript
javascript中动态函数用法实例分析
May 14 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
layer弹出层中H5播放器全屏出错的解决方法
Feb 21 Javascript
JS奇技之利用scroll来监听resize详解
Jun 15 Javascript
js实现省市级联效果分享
Aug 10 Javascript
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
微信小程序局部刷新触发整页刷新效果的实现代码
Nov 21 Javascript
javascript跳转与返回和刷新页面的实例代码
Nov 20 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
Feb 16 Javascript
axios封装与传参示例详解
Oct 18 Javascript
js确认删除对话框适用于a标签及submit
Jul 10 #Javascript
JQuery1.8 判断元素是否绑定事件的方法
Jul 10 #Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
Sep 12 #Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
Jul 09 #Javascript
jQuery获取选中内容及设置元素属性的方法
Jul 09 #Javascript
js数组与字符串的相互转换方法
Jul 09 #Javascript
在Linux上用forever实现Node.js项目自启动
Jul 09 #Javascript
You might like
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
Alliance vs Liquid BO3 第三场2.13
2021/03/10 DOTA
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
javascript的数组和常用函数详解
2014/05/09 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
全面解析Bootstrap弹窗的实现方法
2015/12/01 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
Vite和Vue CLI的优劣
2021/01/30 Vue.js
Python中字符编码简介、方法及使用建议
2015/01/08 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
详解python中sort排序使用
2019/03/23 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
2014年父亲节活动方案
2014/03/06 职场文书
个人工作总结范文2014
2014/11/07 职场文书
2015出纳试用期工作总结
2014/12/12 职场文书
2019年思想汇报
2019/06/20 职场文书
css height属性中的calc方法详解
2021/06/03 HTML / CSS
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python