获取当前有效样式(外联)
function getStyle(node, cssStyle){
return node.currentStyle ? node.currentStyle[cssStyle] : getComputedStyle(node)[cssStyle];
}
事件中的兼容问题
- mouseenter和mouseleave(IE8以下不兼容)
scrollTop(可视窗口以上滑动的距离)
var scrollTop = document.documentElement.scrollTop
|| document.body.scrollTop;
事件的获取
oDiv.onclick = function (e) {
e = e || window.event
console.log(e.X轴坐标点信息)
console.log(e.Y轴坐标点信息)
}
获取键码
window.onkeypress = function (ev) {
var e = ev || window.event;
//兼容后的获取键码的写法
var which = e.charCode || e.which;
console.log(which);
}
阻止事件冒泡
//跨浏览器的 阻止事件冒泡写法
function stopBubble(event) {
if (event.stopPropagation) {
event.stopPropagation();
} else {
event.cancelBubble = true;
}
}
事件对象属性(target触发对象/目标对象)
var target = e.target || window.event.srcElement;
输出当前窗口的宽和高 ```javascript
var windowWidth =
document.documentElement.clientWidth || document.body.clientWidth;
var windowHeight =
document.documentElement.clientHeight || document.body.clientHeight;
- 系统提供了两个a链接阻止默认行为的方法
```javascript
function preDef(ev) {
if (ev.preventDefault) {
ev.preventDefault();
} else {
window.event.returnValue = false;
}
}
事件侦听器/事件监听器
function on(node, eventType, funcName) {
if (node.addEventListener) {
//"click"
node.addEventListener(eventType, funcName, false);
} else {
//"onclick"
node.attachEvent("on" + eventType, funcName);
}
}
function off(node, eventType, funcName) {
if (node.removeEventListener) {
node.removeEventListener(eventType, funcName);
} else {
node.detachEvent("on" + eventType, funcName);
}
}