让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 removeChild 使用注意事项
Apr 11 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
Jan 24 Javascript
javascript通过navigator.userAgent识别各种浏览器
Oct 25 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
Jan 09 Javascript
JavaScript 作用域链解析
Nov 13 Javascript
javascript冒泡排序小结
Apr 10 Javascript
微信小程序 条件渲染详解
Oct 09 Javascript
JS匿名函数实例分析
Nov 26 Javascript
JavaScript中的遍历详解(多种遍历)
Apr 07 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
Sep 18 Javascript
js作用域和作用域链及预解析
Apr 11 Javascript
JS实现简单控制视频播放倍速的实例代码
Apr 18 Javascript
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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
在php中使用sockets:从新闻组中获取文章
2006/10/09 PHP
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
CI(CodeIgniter)框架配置
2014/06/10 PHP
Aster vs Newbee BO5 第二场2.19
2021/03/10 DOTA
农历与西历对照
2006/09/06 Javascript
javascript 操作Word和Excel的实现代码
2009/10/26 Javascript
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
2017/03/14 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
StubHub意大利:购买和出售全球演唱会和体育赛事门票
2017/11/21 全球购物
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
政法学院毕业生求职信
2014/02/28 职场文书
理财学专业自荐书
2014/06/28 职场文书
公民授权委托书范本
2014/09/17 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
Python控制台输出俄罗斯方块的方法实例
2021/04/17 Python
Html5通过数据流方式播放视频的实现
2021/04/27 HTML / CSS
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers