让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 源码分析笔记(6) jQuery.data
Jun 08 Javascript
jquery学习笔记 用jquery实现无刷新登录
Aug 08 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
Aug 02 Javascript
iframe子父页面调用js函数示例
Nov 07 Javascript
调用DOM对象的focus使文本框获得焦点
Feb 19 Javascript
浅析javascript中的DOM
Mar 01 Javascript
js实现拉幕效果的广告代码
Sep 02 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
Oct 05 Javascript
highcharts 在angular中的使用示例代码
Sep 20 Javascript
Vue.js添加组件操作示例
Jun 13 Javascript
layui中table表头样式修改方法
Aug 15 Javascript
vue中的适配px2rem示例代码
Nov 19 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防攻击代码升级版
2010/12/29 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
原生js实现class的添加和删除简单代码
2016/07/12 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
Django+Vue跨域环境配置详解
2018/07/06 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python类属性的延迟计算
2016/10/22 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
维也纳通行证:Vienna PASS
2019/07/18 全球购物
学校介绍信范文
2014/01/14 职场文书
一夜的工作教学反思
2014/02/08 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
小区物业管理2015年度工作总结
2015/10/22 职场文书
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js
新的CSS 伪类函数 :is() 和 :where()示例详解
2022/08/05 HTML / CSS