javascript event在FF和IE的兼容傳參心得(絕對好用)
event在IE和FF不兼容,今天傳參碰到些問題,參考網(wǎng)上的一些方法,有所心得:
aClassArray[i].onmouseover = function () { //代碼直接寫在里面是可以的,要傳參也可以傳,只是不方便復(fù)用 }; aClassArray[i].onmouseover =linkMouseover//不傳參的情況下是可以用的,但后續(xù)不能用 arguments.callee.caller.arguments[0] aClassArray[i].onmouseover =linkMouseover()//加括號是錯誤用法 aClassArray[i].onmouseover = function () { linkMouseover(this) };//this能傳進(jìn)去,可以alert出來,但evt.clientX + "px"就出問題了,是空的。。。 arguments.callee.caller.arguments[0]//可以用這個解決 var src = evt.srcElement || evt.target; //后續(xù)還可以跟src
===========================================================================
附上練習(xí)代碼
<!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": "百度網(wǎng)站提示", "163": "163網(wǎng)站提示", "google": "google網(wǎng)站提示" } 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 rel="external nofollow" class="aClass">百度</a> <br /> <br /> <br /> <a rel="external nofollow" class="aClass">網(wǎng)易</a> <br /> <br /> <br /> <a rel="external nofollow" class="aClass">Google</a> </div> </body> </html>
- 兼容最新firefox、chrome和IE的javascript圖片預(yù)覽實(shí)現(xiàn)代碼
- asp cookie中文Javascript取得中文cookie
- IE8中使用javascript動態(tài)加載CSS的解決方法
- IE6中鏈接A的href為javascript協(xié)議時不在當(dāng)前頁面跳轉(zhuǎn)
- JavaScript在IE和FF下的兼容性問題
- JavaScript中一個奇葩的IE瀏覽器判斷方法
- JavaScript對IE操作的經(jīng)典代碼(推薦)
- javascript:FF/Chrome與IE動態(tài)加載元素的區(qū)別說明
- IE與FF下javascript獲取網(wǎng)頁及窗口大小的區(qū)別詳解
- JavaScript的常見兼容問題及相關(guān)解決方法(chrome/IE/firefox)
- javascript在IE下trim函數(shù)無法使用的解決方法
相關(guān)文章
原生JS實(shí)現(xiàn)點(diǎn)擊數(shù)字小游戲
這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)點(diǎn)擊數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-04-04JS實(shí)現(xiàn)的定時器展示簡單秒表、頁面彈框及跳轉(zhuǎn)操作完整示例
這篇文章主要介紹了JS實(shí)現(xiàn)的定時器展示簡單秒表、頁面彈框及跳轉(zhuǎn)操作,結(jié)合實(shí)例形式分析了JavaScript時間函數(shù)及頁面元素動態(tài)操作相關(guān)使用技巧,需要的朋友可以參考下2020-01-01javascript筆試題目附答案@20081025_jb51.net
網(wǎng)上找的javascript筆試題目,留檔給自己作參考。2008-10-10js 限制數(shù)字 js限制輸入實(shí)現(xiàn)代碼
在工作中經(jīng)常會遇到j(luò)s限制輸入方面的要求,本文將詳細(xì)介紹其實(shí)現(xiàn)原理,需要的朋友可以參考下2012-12-12網(wǎng)頁運(yùn)行時提示對象不支持abigimage屬性或方法
網(wǎng)頁中用了一個js插件,js文件引用的沒有錯但是運(yùn)行時ie的調(diào)試工具報了一個錯,提示對象不支持abigimage屬性或方法2014-08-08js中實(shí)現(xiàn)字符串和數(shù)組的相互轉(zhuǎn)化詳解
這篇文章主要介紹了js中實(shí)現(xiàn)字符串和數(shù)組的相互轉(zhuǎn)化,感興趣的小伙伴們可以參考一下2016-01-01