事件绑定
function addEvent(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type,handler, false);
} else if (element.attachEvent) {
element.attachEvent('on' + type,handler);
} else {
element['on' + type] = handler;
}
}
移除事件
function removeEvent(element, type, handler) {
if (element.removeEnentListener) {
element.removeEnentListener(type,handler, false);
} else if (element.datachEvent) {
element.detachEvent('on' + type,handler);
} else {
element['on' + type] = null;
}
},
阻止事件冒泡
function stopPropagation(ev) {
if (ev.stopPropagation) {
ev.stopPropagation();
} else {
ev.cancelBubble = true;
}
}
取消事件的默认行为
function preventDefault(event) {
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
}
获取事件target
function getTarget(event) {
return event.target || event.srcElement;
}
获取event对象
function getEvent (e) {
var ev = e || window.event;
if (!ev) {
var c = this.getEvent.caller;
while (c) {
ev = c.arguments[0];
if (ev && Event ==ev.constructor) {
break;
}
c = c.caller;
}
}
return ev;
};
获取clientWidth
document.documentElement.clientWidth || document.body.clientWidth
- png24为的图片在iE6浏览器上出现背景,解决方案是做成PNG8.
- 浏览器默认的margin和padding不同。解决方案是加一个全局的*{margin:0;padding:0;}来统一。
- IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。浮动ie产生的双倍距离
#box{float:left; width:10px; margin:0 10px;}
//这种情况之下IE会产生20px的距离
//解决方案是在float的标签样式控制中加入 ——_display:inline;将其转化为行内属性。
//_这个符号只有ie6会识别
- Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示, 可通过加入 CSS 属性 -webkit-text-size-adjust: none; 解决.
- 超链接访问过后hover样式就不出现了 被点击访问过的超链接样式不在具有hover和active了解决方法是改变CSS属性的排列顺序:L-V-H-A : a:link {} a:visited {}a:hover {} a:active {}
.bb{
background-color:#f1ee18;/*所有识别*/
.background-color:#00deff\9; /*IE6、7、8识别*/
+background-color:#a200ff;/*IE6、7识别*/
_background-color:#1e0bd1;/*IE6识别*/
}
网友评论