首页 / 脚本样式 / JavaScript / 让firefox支持IE的一些方法的javascript扩展函数代码
这一段使得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" ? "
" : 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;
}