让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对象和DOM对象的区别介绍
Aug 09 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
Sep 09 Javascript
JavaScript定义变量和变量优先级问题探讨
Oct 11 Javascript
jQuery中:reset选择器用法实例
Jan 04 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
Aug 29 Javascript
浅谈angularjs依赖服务注入写法的注意点
Apr 24 Javascript
JavaScrpt判断一个数是否是质数的实例代码
Jun 11 Javascript
ReactNative之FlatList的具体使用方法
Nov 29 Javascript
jQuery替换节点元素的操作方法
Mar 18 jQuery
MVVM 双向绑定的实现代码
Jun 21 Javascript
简单了解JavaScript作用域
Jul 31 Javascript
js实现翻牌小游戏
Jul 31 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
PHP安全编程之加密功能
2006/10/09 PHP
PHP的autoload机制的实现解析
2012/09/15 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
PHP验证码类ValidateCode解析
2017/01/07 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
php支付宝APP支付功能
2020/07/29 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
一步步教大家编写酷炫的导航栏js+css实现
2016/03/14 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
js实现自定义路由
2017/02/04 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
使用express+multer实现node中的图片上传功能
2018/02/02 Javascript
MVVM 双向绑定的实现代码
2018/06/21 Javascript
使用express来代理服务的方法
2019/06/21 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
利用ctypes提高Python的执行速度
2016/09/09 Python
python利用dir函数查看类中所有成员函数示例代码
2017/09/08 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python
React更新渲染原理深入分析
2022/12/24 Javascript