获取当前有效样式(外联)

  1. function getStyle(node, cssStyle){
  2. return node.currentStyle ? node.currentStyle[cssStyle] : getComputedStyle(node)[cssStyle];
  3. }

事件中的兼容问题

  • mouseenter和mouseleave(IE8以下不兼容)
  • scrollTop(可视窗口以上滑动的距离)

    1. var scrollTop = document.documentElement.scrollTop
    2. || document.body.scrollTop;
  • 事件的获取

    1. oDiv.onclick = function (e) {
    2. e = e || window.event
    3. console.log(e.X轴坐标点信息)
    4. console.log(e.Y轴坐标点信息)
    5. }
  • 获取键码

    1. window.onkeypress = function (ev) {
    2. var e = ev || window.event;
    3. //兼容后的获取键码的写法
    4. var which = e.charCode || e.which;
    5. console.log(which);
    6. }
  • 阻止事件冒泡

    1. //跨浏览器的 阻止事件冒泡写法
    2. function stopBubble(event) {
    3. if (event.stopPropagation) {
    4. event.stopPropagation();
    5. } else {
    6. event.cancelBubble = true;
    7. }
    8. }
  • 事件对象属性(target触发对象/目标对象)

    1. var target = e.target || window.event.srcElement;
  • 输出当前窗口的宽和高 ```javascript

    1. var windowWidth =
    2. document.documentElement.clientWidth || document.body.clientWidth;
    3. var windowHeight =
    4. document.documentElement.clientHeight || document.body.clientHeight;
  1. - 系统提供了两个a链接阻止默认行为的方法
  2. ```javascript
  3. function preDef(ev) {
  4. if (ev.preventDefault) {
  5. ev.preventDefault();
  6. } else {
  7. window.event.returnValue = false;
  8. }
  9. }
  • 事件侦听器/事件监听器

    1. function on(node, eventType, funcName) {
    2. if (node.addEventListener) {
    3. //"click"
    4. node.addEventListener(eventType, funcName, false);
    5. } else {
    6. //"onclick"
    7. node.attachEvent("on" + eventType, funcName);
    8. }
    9. }
    10. function off(node, eventType, funcName) {
    11. if (node.removeEventListener) {
    12. node.removeEventListener(eventType, funcName);
    13. } else {
    14. node.detachEvent("on" + eventType, funcName);
    15. }
    16. }