DOM

作者: 游_弋 | 来源:发表于2019-10-30 13:30 被阅读0次

$$('*').forEach(a=>{a.style.outline='1px solid red'}) // 控制台输入,查看布局小技巧

obg.hasOwnProperty('name')  // true来自实例  false来自原型

btn.addEventListener('click',  function aa(){},  false) // 处理事件名, 事件处理函数, 布尔值, true为捕获阶段调用事件函数, false为冒泡阶段调用事件处理函数

btn.removeEventListener('click',  function aa(){},  false)  // 移除事件

解决事件冒泡

bubbles  // 表明事件是否冒泡  返回布尔值

event.stopPropagation()  // 立即停止在DOM事件中的传播,即取消进一步的事件捕获冒泡,前提bubble为true

IE中解决 event.cancelBubble = true  // 解决事件冒泡

var evt = evt || window.event; //获取event对象 if (evt.preventDefault) { evt.preventDefault(); //非IE浏览器   } else { evt.returnValue = false; //在早期的IE版本中  }event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = true); //阻止事件冒泡

阻止默认事件

cancelable // 表明是否可以取消时间默认行为  返回 布尔值

event.preventDefault()  // 阻止事件的默认行为,前提cancelable为true

IE中解决 event.returnVale= false  // 解决默认事件  

DOM

window.  onresize = function(){}   //浏览器改变大小触发

document.documentElement.scrollTop ||  scrollLeft  //滚动条距离顶部 || 左侧距离

window.  onclick = function(event){ event.pageX + event.pageY }  //算上滚动条坐标位置

window.  onclick = function(event){ event.clientX + event.clientY }  //客户区(可视区)坐标位置

window.  onclick = function(event){ event.screenX + event.screenY }  //相对整个屏幕坐标位置

var p = document.createElement("p");  //创建元素                                                 

element.insertAdjacentHTML(position,text);

'beforebegin'  元素自身前面

'afterbegin'  插入元素内部的第一个字节点之前

'beforeend'  插入元素内部的最后一个子节点之后

'afterend'  元素自身的后面

body.appendChild(p);  //它用于添加新元素到尾部                                                  

 body.insertBefore(p1, p);  //p1添加到了p之前                                                       

 parent.removeChild(child);  // 移除元素

element.remove();  //直接删除元素

child.parentNode.removeChild(child);   //删除当前元素

parent.replaceChild(newChild, child);   //替换元素

history.back() - 与在浏览器点击后退按钮相同

history.forward() - 与在浏览器中点击向前按钮相同

history.go() 这个方法来实现向前,后退,刷新的功能。

var a = confirm("sometext");   //确认框返回 true, 如果点击 "取消", 确认框返回 false。

var a = prompt("sometext","defaultvalue"); // 提示框返回值为输入的值。如果用户点击取消,那么返回值为 null。

弹窗使用(\n) 来设置换行。alert("Hello\nHow are you?"); 

nodeType == 1 元素节点

nodeType == 2 属性节点

nodeType == 3 文本节点

window.open(winUrl, "titleName " , '' width='300px,height=300px' ")  <==>  打开新窗口

面向对象编程

class Father{ constructor(name,age){ this.name = name;this.age = age;  this.init(); } init(){  } };  var son = new Father(); // constructor接收形参

function Father( name,age ){ this.name = name; this.age = age; }

原型对象的prototype.constructor  <==>    指向是谁的构造函数   

①构造函数有原型对象prototype

②构造函数原型对象prototype里面有constructor指向构造函数本身

③构造函数可以通过原型对象添加方法

④构造函数创建的实例对象有__proto__原型指向 构造函数的原型对象

类本质其实还是一个函数 我们也可以简单的认为 累就是 构造函数的另外一种写法( 构造函数另一种写法,es5的面向对象语法糖 )

①类有原型对象 prototype

②类原型对象 prototype 里面有constructor 指向类本身

③类可以通过原型对象添加方法


canvas


<canvas id="myCanvas" width="200" height="100"></canvas>

找到 <canvas> 元素:     var c=document.getElementById("myCanvas");

创建 context 对象:      var ctx=c.getContext("2d");

相关文章

  • dom 级别和dom 事件处理

    dom级别:dom0 dom1 dom2 dom3 dom事件处理:dom0 dom2 dom3 (1级DOM标准...

  • WY-DOM编程

    DOM Document Object Model DOM Core DOM HTML DOM Style DOM...

  • DOM事件

    DOM级别与DOM事件 DOM级别:DOM0级、DOM1级、DOM2级、DOM3级DOM事件:DOM0级事件处理、...

  • DOM事件

    DOM级别与DOM事件 DOM级别:DOM0级,DOM1级,DOM2级和DOM3级DOM事件:DOM0级事件处理,...

  • js红包雨活动

    function Block( dom ){ this.dom = dom; //dom this.parentW...

  • DOM操作的分类

    DOM操作分为三个方面,即DOM Core(核心)、HTML-DOM和CSS-DOM。 DOM Core DOM ...

  • 虚拟 DOM 和 diff 算法

    虚拟 DOM(Virtual DOM) 通过 JS 对象表示 DOM 结构,虚拟DOM 是对 DOM 的抽象 通常...

  • jQuery——DOM

    DOM操作分类 一般来说,DOM操作分为3个方面,即DOM Core、HTML-DOM、CSS-DOM。 DOM ...

  • JavaScript高级程序设计前四章

    1. DOM级别 1.1 DOM1级 由DOM核心(DOM Core)和DOM HTML两个模块组成。 DOM核心...

  • DOM分级详解

    DOM1 级(DOM Level 1) DOM1 级由两个模块组成:DOM核心(DOM Core)和DOM HTM...

网友评论

      本文标题:DOM

      本文链接:https://www.haomeiwen.com/subject/ozpjyctx.html