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 相关文章推荐
JS中Iframe之间传值的方法
Mar 11 Javascript
jquery 提交值不为空的元素示例代码
May 10 Javascript
js单例模式的两种方案
Oct 22 Javascript
javascript和jquery修改a标签的href属性
Dec 16 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
Mar 11 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
Dec 10 Javascript
DeviceOne 让你一见钟情的App快速开发平台
Feb 17 Javascript
JS验证逗号隔开可以是中文字母数字
Apr 22 Javascript
图文详解JavaScript的原型对象及原型链
Aug 02 Javascript
vue项目中v-model父子组件通信的实现详解
Dec 10 Javascript
Vue单页应用引用单独的样式文件的两种方式
Mar 30 Javascript
小程序实现多列选择器
Feb 15 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中处理模拟rewrite 效果
2006/12/09 PHP
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
PHP中时间加减函数strtotime用法分析
2017/04/26 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
php自动加载代码实例详解
2021/02/26 PHP
JavaScript Eval 函数使用
2010/03/23 Javascript
jQuery参数列表集合
2011/04/06 Javascript
JS重要知识点小结
2011/11/06 Javascript
JavaScript中for..in循环陷阱介绍
2013/11/12 Javascript
一个JavaScript防止表单重复提交的实例
2014/10/21 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
缓刑人员思想汇报500字
2014/09/12 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书
MySQL表类型 存储引擎 的选择
2021/11/11 MySQL