• 原生js大总结七


    061、如何获取父级节点、上一个子级节点、下一个子级节点
     
     nextElementSibling  后一个兄弟元素  (如果没有是null)
     
     previousElementSibling  前一个兄弟元素  (如果没有就是null)
     
     parentNode 获取当前节点的父节点
     
    062、元素节点的创建、添加、删除、替换、克隆
     
    1、创建:document.createElement('元素名');
      
    2、添加:appendChild()====>插入到最后       insertBefore()====>插入到最前面    
      用法:
              function append(obj,newEle){
                  var achildren = obj.children;
                  if(achildren.length>=1){
                    return  obj.insertBefore(newEle,achildren[0])
                   } else{
                    return   obj.appendChild(newEle)
                   }
              }
    3、删除:box.removeChild(node) 从元素中移除某个子元素
      用法:  先找到父级节点然后在去删除子级节点
     
    4、替换:box.replaceChild(子元素,父元素)
     
      用法:
          父元素.replaceChild(被替换成的元素,替换元素)
     
    5、克隆:clone()
         元素.clone();
         如果里面传true的话会吧整个标签的所有节点都克隆,如果没有加true,只会克隆当前元素
     
     
    063、浅谈关于文档碎片的理解
     
    1、js操作dom时发生了什么?
         
       每次对dom的操作都会触发"重排",这严重影响到能耗,一般通常采取的做法是尽可能的减少dom操作来减少"重排"
     
    2、什么是文档碎片?
      
        document.createDocumentFragment()
        一个容器,用于暂时存放创建的dom元素
        (其实这个跟咱们上课说那个先让到一个元素中,然后最后appendchild一样)
         
    3、文档碎片有什么用?
      
       将需要添加的大量元素  先添加到文档碎片  中,再将文档碎片添加到需要插入的位置,大大减少dom操作,提高性能
     
    064什么是回流和重绘
     
    当渲染树中的一部分或者全部因为元素的尺寸、布局、隐藏等改变而需要重新构建的时候,这时候就会发生回流。
     
    每个页面都至少发生一次回流,也就是页面第一次加载的时候。
     
    在回流的时候,浏览器会使渲染树中受到影响的元素部分失效,并重新绘制这个部分的渲染树,完成回流以后,浏览器会重新绘制受到影响的部分元素到屏幕中,这个过程就是重绘
     
     
    什么时候会发生回流?
         1、添加或者删除可见的DOM元素的时候
     
         2、元素的位置发生改变
     
         3、元素尺寸改变
     
         4、内容改变
     
         5、页面第一次渲染的时候
     
    065、关于offsetX、offsetY、clientX、clientY、pageX、pageY、screenX、screenY的区别
     
     
    offsetX、offsetY:
         鼠标相对于事件源元素(srcElement)的X,Y坐标
     
    clientX、clientY:
         鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。
     
    pageX、pagey:
         类似于event.clientX、event.clientY,但它们使用的是文档坐标而非窗口坐标。这2个属性不是标准属性,但得到了广泛支持。IE事件中没有这2个属性
     
    screenX、screenY:
         鼠标相对于用户显示器屏幕左上角的X,Y坐标。
     
     
     
    066、如何在当前视窗的可见范围看见当前元素
     
    scrollIntoView()
     
    067、关于onkeydown和onkeypress的区别以及如何获取按下键盘的键盘码?
     
    onkeydown:
                1、所有的英文字符都是大写
                2、功能键也会被识别
    onkeypress
                1、所有英文字符大小写都支持
                2、所有功能键都不会被识别
                3、组合键ctrl+回车的code值是10
     
     
    e.keyCode || e.which
     
    068、什么是事件流? 什么是事件冒泡? 什么是事件捕获?
     
    什么是事件流?
     
         当一个HTML元素产生一个事件时,该事件会在元素节点与根节点之间的路径传播,路径所经过的节点都会收到该事件,这个传播的过程叫做DOM事件流
     
    元素触发事件时,事件的传播过程称为事件流,过程分为捕获和冒泡两种
     
    冒泡事件:微软提出的   事件由子元素传递到父元素的过程,叫做冒泡
     
    捕获事件:网景提出的   事件由父元素到子元素传递的过程,叫做事件捕获
     
    069、什么是浏览器默认行为?如何组织浏览器默认行为?
     
    例如:右键菜单  点击超链接跳转  图片拖拽
     
    组织默认行为
     
         return false  
        
         preventDefault是一个方法:e.preventDefault();
        
         returnValue的值是一个常量:e.returnValue = false;
     
    070、如何组织右键菜单?
     
    document.oncontextmenu = function(e){
     
         e.preventDefault()
        
    }
  • 相关阅读:
    企业库连接形式简单例子记录 EnterpriseLibrary.Data
    .net 抽象类(abstract)和接口(interface)区别
    windows service 开发、安装及调试
    asp.net(mvc) 框架
    获取IP地址
    select2 模糊查询远程数据
    设计模式篇——初探命令模式
    初探MVC路由
    初探表达式目录树
    C#实现插入排序法
  • 原文地址:https://www.cnblogs.com/J--L/p/10096607.html
Copyright © 2020-2023  润新知