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 innerHTML、outerHTML、innerText、outerText的区别
Nov 24 Javascript
如何编写高质量JS代码
Dec 28 Javascript
js实现固定显示区域内自动缩放图片的方法
Jul 18 Javascript
jQuery实现图片加载完成后改变图片大小的方法
Mar 29 Javascript
Bootstrap 组件之按钮(二)
May 11 Javascript
javascript实现瀑布流动态加载图片原理
Aug 12 Javascript
详解JS中的attribute属性
Apr 25 Javascript
JS实现的全排列组合算法示例
Oct 09 Javascript
不刷新网页就能链接新的js文件方法总结
Mar 01 Javascript
vue+swiper实现左右滑动的测试题功能
Oct 30 Javascript
js实现简单的倒计时
Jan 28 Javascript
JavaScript中reduce()的用法
May 11 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实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
javascript new后的constructor属性
2010/08/05 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
2012/01/13 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
2014/04/29 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
Python日志模块logging简介
2015/04/13 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
django Admin文档生成器使用详解
2019/07/22 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
德国机车企业:FC-Moto
2017/10/27 全球购物
在求职信中如何凸显个人优势
2013/10/30 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
实习评语大全
2014/04/26 职场文书
热爱祖国的演讲稿
2014/05/04 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
初中班主任教育随笔
2015/08/15 职场文书
2016春季幼儿园大班开学寄语
2015/12/03 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS