让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 相关文章推荐
获取URL地址中的文件名和参数的javascript代码
Sep 02 Javascript
javascript 时间比较实现代码
Oct 28 Javascript
jquery向上向下取整适合分页查询
Sep 06 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
Dec 08 Javascript
JavaScript使用replace函数替换字符串的方法
Apr 06 Javascript
JS实现转动随机数抽奖特效代码
Apr 16 Javascript
JQuery标签页效果实例详解
Dec 24 Javascript
bootstrap table复杂操作代码
Nov 01 Javascript
vue服务端渲染的实例代码
Aug 28 Javascript
利用vue.js把静态json绑定bootstrap的table方法
Aug 28 Javascript
JavaScript事件对象深入详解
Dec 30 Javascript
javascript实现简易的计算器
Jan 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
php文件上传、下载和删除示例
2020/08/28 PHP
详解PHP防止直接访问.php 文件的实现方法
2017/07/28 PHP
php遍历目录下文件并按修改时间排序操作示例
2019/07/12 PHP
JavaScript 解析Json字符串的性能比较分析代码
2009/12/16 Javascript
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
2015/10/09 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
微信小程序之前台循环数据绑定
2017/08/18 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
简单介绍Python中的filter和lambda函数的使用
2015/04/07 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
python使用udp实现聊天器功能
2018/12/10 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
python列表返回重复数据的下标
2020/02/10 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
深入分析python 排序
2020/08/24 Python
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
Linux常见面试题
2013/03/18 面试题
股权转让协议书
2014/04/12 职场文书
财务管理专业毕业生求职信
2014/06/02 职场文书
现场活动策划方案
2014/08/22 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
基于tensorflow权重文件的解读
2021/05/26 Python