让firefox支持IE的一些方法的javascript扩展函数代码


Posted in Javascript onJanuary 02, 2010

这一段使得FireFox也支持IE的innerText方法

function isIE(){ 
if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1) 
return true; 
else 
return false; 
} 
if(!isIE()){ //firefox innerText define 
HTMLElement.prototype.__defineGetter__( "innerText", 
function(){ 
var anyString = ""; 
var childS = this.childNodes; 
for(var i=0; i <childS.length; i++) { 
if(childS[i].nodeType==1) 
anyString += childS[i].tagName=="BR" ? '\n' : childS[i].innerText; 
else if(childS[i].nodeType==3) 
anyString += childS[i].nodeValue; 
} 
return anyString; 
} 
); 
HTMLElement.prototype.__defineSetter__( "innerText", 
function(sText){ 
this.textContent=sText; 
} 
); 
}

这一段使得FireFox的HTMLElement具有click方法(add click method to HTMLElement in Mozilla)
try { 
// create span element so that HTMLElement is accessible 
document.createElement('span'); 
HTMLElement.prototype.click = function () { 
if (typeof this.onclick == 'function') 
this.onclick({type: 'click'}); 
}; 
} 
catch (e) { 
// alert('click method for HTMLElement couldn\'t be added'); 
}

对HTMLAnchorElement 加入onclick事件

try { 
// create a element so that HTMLAnchorElement is accessible 
document.createElement('a'); 
HTMLElement.prototype.click = function () { 
if (typeof this.onclick == 'function') { 
if (this.onclick({type: 'click'}) && this.href) 
window.open(this.href, this.target? this.target : '_self'); 
} 
else if (this.href) 
window.open(this.href, this.target? this.target : '_self'); 
}; 
} 
catch (e) { 
// alert('click method for HTMLAnchorElement couldn\'t be added'); 
}

跟踪回车键事件
function captureKeys (evt) { 
var keyCode = evt.keyCode ? evt.keyCode : 
evt.charCode ? evt.charCode : evt.which; 
if (keyCode == 13) { 
// cancel key: 
if (evt.preventDefault) { 
evt.preventDefault(); 
} 
var dq = getCookie('default-engine'); 
if( dq == null) dq = "baidu_txt"; 
submit_query( dq ); 
return false; 
} 
return true; 
}
Javascript 相关文章推荐
细品javascript 寻址,闭包,对象模型和相关问题
Apr 27 Javascript
Javascript 面向对象编程(coolshell)
Mar 18 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
Oct 09 Javascript
js onmousewheel事件多次触发问题解决方法
Oct 17 Javascript
jQuery实现Twitter的自动文字补齐特效
Nov 28 Javascript
jquery移动端TAB触屏切换实现效果
Dec 22 Javascript
基于jQuery实现返回顶部实例代码
Jan 01 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
Vue利用canvas实现移动端手写板的方法
May 03 Javascript
Vue中的vue-resource示例详解
Nov 02 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
Nov 24 Javascript
一篇文章告诉你如何实现Vue前端分页和后端分页
Feb 18 Vue.js
javascript getElementsByClassName 和js取地址栏参数
Jan 02 #Javascript
firefox插件Firebug的使用教程
Jan 02 #Javascript
firefox firebug中文入门教程 脚本之家新年特别版
Jan 02 #Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
Jan 01 #Javascript
20个非常棒的Jquery实用工具 国外文章
Jan 01 #Javascript
JavaScript与DropDownList 区别分析
Jan 01 #Javascript
HTML node相关的一些资料整理
Jan 01 #Javascript
You might like
数据库的日期格式转换
2006/10/09 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
js的一些常用方法小结
2011/06/29 Javascript
Javascript中的this绑定介绍
2011/09/22 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
JavaScript function 的 length 属性使用介绍
2014/09/15 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
vue数据双向绑定原理解析(get &amp; set)
2017/03/08 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
design vue 表格开启列排序的操作
2020/10/28 Javascript
Python实现简单拆分PDF文件的方法
2015/07/30 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
python线程池threadpool使用篇
2018/04/27 Python
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
python dlib人脸识别代码实例
2019/04/04 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
2019/08/26 Python
Python的Lambda函数用法详解
2019/09/03 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
C语言笔试题
2014/09/04 面试题
Linux的主要特性
2016/09/03 面试题
2015中学政教处工作总结
2015/07/22 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android