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 检测浏览器类型和版本的代码
Sep 15 Javascript
Jquery 在页面加载后执行的几种方式
Mar 14 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
Apr 21 Javascript
探索angularjs+requirejs全面实现按需加载的套路
Feb 26 Javascript
BootStrap glyphicons 字体图标实现方法
May 01 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
Jun 01 Javascript
javascript实现简单的可随机变色网页计算器示例
Dec 30 Javascript
Node.js中如何合并两个复杂对象详解
Dec 31 Javascript
jquery 禁止鼠标右键并监听右键事件
Apr 27 jQuery
Vue2.x中的父组件传递数据至子组件的方法
May 01 Javascript
JavaScript正则表达式函数总结(常用)
Feb 22 Javascript
vue跳转方式(打开新页面)及传参操作示例
Jan 26 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
投票管理程序
2006/10/09 PHP
php桌面中心(二) 数据库写入
2007/03/11 PHP
PHP-redis中文文档介绍
2013/02/07 PHP
使用Sphinx对索引进行搜索
2013/06/25 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
2015/04/21 PHP
解析PHP之提取多维数组指定列的方法
2017/01/03 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
javascript 作用于作用域链的详解
2017/09/27 Javascript
JS实现checkbox互斥(单选)功能示例
2019/05/04 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
2020/11/18 Vue.js
python删除列表内容
2015/08/04 Python
浅谈python中的占位符
2017/11/09 Python
Python使用字典的嵌套功能详解
2019/02/27 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
Python笔记之工厂模式
2019/11/20 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
浅析rem和em和px vh vw和% 移动端长度单位
2016/04/28 HTML / CSS
Bootstrap 学习分享
2012/11/12 HTML / CSS
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
化工专业推荐信范文
2013/11/28 职场文书
煤矿安全生产标语
2014/06/06 职场文书
2014领导干部四风问题查摆思想汇报
2014/09/13 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书