让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 相关文章推荐
网页里控制图片大小的相关代码
Jun 13 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
Apr 01 Javascript
JQuery for与each性能比较分析
May 14 Javascript
javascript实现简单的进度条
Jul 02 Javascript
JS延时器提示框的应用实例代码解析
Apr 27 Javascript
逻辑表达式中与或非的用法详解
Jun 06 Javascript
AngularJs Understanding the Controller Component
Sep 02 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
May 07 Javascript
微信小程序仿知乎实现评论留言功能
Nov 28 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
Dec 12 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
May 19 Javascript
解决vue页面渲染但dom没渲染的操作
Jul 27 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 Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
CI框架简单邮件发送类实例
2016/05/18 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
摘自百度的图片轮换效果代码
2007/11/19 Javascript
16个最流行的JavaScript框架[推荐]
2011/05/29 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
详解nodejs模板引擎制作
2017/06/14 NodeJs
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
vuex实现购物车的增加减少移除
2020/06/28 Javascript
列举Python中吸引人的一些特性
2015/04/09 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
mac使用python识别图形验证码功能
2020/01/10 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
浅谈Python 参数与变量
2020/06/20 Python
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
2015年光棍节活动总结
2015/03/24 职场文书
python实现三次密码验证的示例
2021/04/29 Python
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android