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实现无刷新更新数据的详细步骤 asp
Dec 26 Javascript
JS正则中的RegExp对象对象
Nov 07 Javascript
javascript中验证大写字母、数字和中文
Jan 15 Javascript
谷歌浏览器调试JavaScript小技巧
Dec 29 Javascript
jQuery解析XML文件同时动态增加js文件的方法
Jun 01 Javascript
用jmSlip编写移动端顶部日历选择控件
Oct 24 Javascript
JavaScript之promise_动力节点Java学院整理
Jul 03 Javascript
基于 Vue 的树形选择组件的示例代码
Aug 18 Javascript
nuxt.js 缓存实践
Jun 25 Javascript
基于Vue实现平滑过渡的拖拽排序功能
Jun 12 Javascript
javascript实现移动端红包雨页面
Jun 23 Javascript
JavaScript原型链中函数和对象的理解
Jun 16 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
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
如何让CI框架支持service层
2014/10/29 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
PHP使用HTML5 FormData对象提交表单操作示例
2019/07/02 PHP
php如何把表单内容提交到数据库
2019/07/08 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
window.open的功能全解析
2006/10/10 Javascript
让ie运行js时提示允许阻止内容运行的解决方法
2010/10/24 Javascript
文本有关的样式和jQuery求对象的高宽问题分别说明
2013/08/30 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
Vue渲染函数详解
2017/09/15 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
node前端开发模板引擎Jade的入门
2018/05/11 Javascript
axios向后台传递数组作为参数的方法
2018/08/11 Javascript
element vue Array数组和Map对象的添加与删除操作
2018/11/14 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
python生成n个元素的全组合方法
2018/11/13 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
python selenium操作cookie的实现
2020/03/18 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
利用python进行文件操作
2020/12/04 Python
社区七一党员活动方案
2014/01/25 职场文书
工程专业求职自荐书范文
2014/02/08 职场文书
2014年网络管理员工作总结
2014/12/01 职场文书
长城英文导游词
2015/01/30 职场文书
思想品德课教学反思
2016/02/24 职场文书
python 逐步回归算法
2021/04/06 Python
mysql事务对效率的影响分析总结
2021/10/24 MySQL