声明:以下内容摘录自其他网站,请尊重作者劳动成果。
// 跨浏览事件添加
function addEvent(obj, type, fn) {
if (obj.addEventListener) {
obj.addEventListener(type, fn, false);
} else if (obj.attachEvent) { // 兼容IE
obj.attachEvent('on' + type, fn);
}
}
// 跨浏览器移除事件
function removeEvent(obj, type, fn) {
if (obj.removeEventListener) {
obj.removeEventListener(type, fn, false);
} else if (obj.detachEvent) { // 兼容IE
obj.detachEvent('on' + type, fn);
}
}
// 跨浏览器组织默认行为
function preDef(ev) {
var e = ev || window.event;
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
}
// 跨浏览器获取目标对象
function getTarget(ev) {
if (ev.target) {
return ev.target;
} else if (window.event.srcElement) {
return window.event.srcElement;
}
}
// 跨浏览器获取滚动位置
function getSP() {
return {
top: document.documentElement.scrollTop || document.body.scrollTop,
left: document.documentElement.scrollLeft || document.body.scrollLeft
}
}
// 跨浏览器获取可视窗口大小
function getWindow() {
if (typeof window.innerWidth != 'undefined') {
return {
width: window.innerWidth,
height: window.innerHeight
}
} else {
return {
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight
}
}
}
// js 对象(配合下方注释内容使用)
function Person(name, age) {
this.name = name;
this.age = age;
this.say = function () {
return "name: " + this.name + " age: " + this.age;
};
}
//var o = new Object();
//Person.call(o, "zhangsan", 21);
//console.log(o.say()); //name : zhangsan age: 20
// js 文件的异步加载和同步加载
// 在script标签内,用js创建一个script元素并插入到document中,这种就是异步加载js文件
// 异步加载
(function () {
var s = document.createElement('script');
s.type = 'test/javascript';
s.async = true;
s.src = 'http://code.jquery.com/jquery-latest.js';
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
})();
// js 阻止表单重复提交
// 有两种方法可以解决:一是提交之后,立刻禁用点击按钮;第二种就是提交之后取消后续的表单提交操作。
// document.getElementById("btn").disabled = true;//第一次提交后,将按钮禁用
// js 来判断一个字符串出现次数最多的字符,并统计这个次数
function countStr(str){
var obj = {};
for(var i = 0, l = str.length,k; i < l ;i++){
k = str.charAt(i);
if(obj[k]){
obj[k]++;
}else{
obj[k] = 1;
}
}
var m = 0,i=null;
for(var k in obj){
if(obj[k] > m){
m = obj[k];
i = k;
}
}
return i + ':' + m;
}