让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 相关文章推荐
jQuery 使用手册(二)
Sep 23 Javascript
javascript面向对象之二 命名空间
Feb 08 Javascript
用Javascript实现Windows任务管理器的代码
Mar 27 Javascript
兼容FF和IE的动态table示例自写
Oct 21 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
Feb 24 Javascript
浅析Bootstrap表格的使用
Jun 23 Javascript
jQuery简单自定义图片轮播插件及用法示例
Nov 21 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
Sep 21 Javascript
js实现下拉框二级联动
Dec 04 Javascript
小程序中英文混合排序问题解决
Aug 02 Javascript
layer实现弹出层自动调节位置
Sep 05 Javascript
微信小程序实用代码段(收藏版)
Dec 17 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
数字转英文
2006/12/06 PHP
php入门教程 精简版
2009/12/13 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
Django 中 cookie的使用
2017/08/17 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
jquery 跨域访问问题解决方法(笔记)
2011/06/08 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
jQuery获取上传文件的名称的正则表达式
2015/05/21 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
在Python下使用Txt2Html实现网页过滤代理的教程
2015/04/11 Python
Python中decorator使用实例
2015/04/14 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
django 外键model的互相读取方法
2018/12/15 Python
Python理解递归的方法总结
2019/01/28 Python
Python语言异常处理测试过程解析
2020/01/08 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
2020/03/02 Python
python实现密码强度校验
2020/03/18 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
详解Python 函数参数的拆解
2020/09/02 Python
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
毕业论文指导教师评语
2014/12/30 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers