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基本概念初级讲解论坛贴的学习记录
Feb 22 Javascript
JQuery扩展插件Validate—4设置错误提示的样式
Sep 05 Javascript
JavaScript文本框脚本编写的注意事项
Jan 25 Javascript
JQuery导航菜单选择特效
Apr 11 Javascript
JavaScript判断数组是否存在key的简单实例
Aug 03 Javascript
JS简单判断函数是否存在的方法
Feb 13 Javascript
Angular.js指令学习中一些重要属性的用法教程
May 24 Javascript
Vue.js对象转换实例
Jun 07 Javascript
简单快速的实现js计算器功能
Aug 17 Javascript
React组件refs的使用详解
Feb 09 Javascript
通过cordova将vue项目打包为webapp的方法
Feb 02 Javascript
javascript面向对象创建对象的方式小结
Jul 29 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下使用iconv需要注意的问题
2010/11/20 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
PHP学习笔记之session
2018/05/06 PHP
详解json在php中的应用
2018/09/30 PHP
PHP 实现缩略图
2021/03/09 PHP
jQuery select的操作实现代码
2009/05/06 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
Bootstrap每天必学之按钮(Button)插件
2016/04/25 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
微信小程序之绑定点击事件实例详解
2017/07/07 Javascript
利用Console来Debug的10个高级技巧汇总
2018/03/26 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
js实现网页版贪吃蛇游戏
2020/02/22 Javascript
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
2015/03/19 Python
python http接口自动化脚本详解
2018/01/02 Python
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
Python实现遗传算法(二进制编码)求函数最优值方式
2020/02/11 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
Superdry极度干燥美国官网:英国制造的服装品牌
2018/11/13 全球购物
创业计划书——互联网商机
2014/01/12 职场文书
加入学生会演讲稿
2014/04/24 职场文书
学校安全生产承诺书
2014/05/23 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
公务员个人考察材料
2014/12/23 职场文书
《鲸》教学反思
2016/02/23 职场文书
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android