2021-01-15

1.DOM2级事件:

  1. 事件三要素
    1.事件源: dom
    2.事件类型 click
    3.事件处理程序; function (){};
    3.事件的绑定方式:
    1.html的事件处理程序
    <button onclick="fun()">点击执行</button>
    fun函数有权访问页面中所有的全局变量;
    2.DOM0级事件;
    dom.onclick = function(){
    console.log(this);//被绑定的元素 dom;
    }
    3.DOM2级事件
    语法:dom.addEventListener("事件类型",事件处理程序,布尔值);
    例如:box.addEventListener("click",函数名/回调函数,布尔值);
    注意:事件类型不加on;
    4.事件流:事件的执行顺序:
    事件执行分三个阶段:
    1. 事件捕获阶段
    2. 捕获目标阶段
    3. 事件冒泡阶段
    1、事件捕获:由最不具体的元素到最具体的元素的一个执行顺序;
    box.addEventListener("click",函数名/回调函数,true);
    2、事件冒泡:由最具体的元素到最不具体的元素的一个执行顺序;
    box.addEventListener("click",函数名/回调函数,false);
    注意:默认是false;
    5.事件委托:通过事件冒泡的机制 把事件委托给父元素/父级元素;
    DOM2事件委托写法:
    dom.addEventListener("click",function(e){
    var tag = e.target;//获取目标元素;
    if(){
    1. 通过标签名去判断
    tag.NodeName=="SPAN"
    2.通过类名是否存在
    tag.classList.contains("active")
    3. 通过自定属性去判断;
    tag.getAttribute("data-index")==2;
    ......
    }
    });
    6.事件对象方法的兼容:
    1.事件对象:
    谷歌:e
    IE:window.event;
    例如: dom.addEventListener("click",function(e){
    var e = e||window.event;//兼容事件对象;
    }
    2.兼容被触发的元素:
    谷歌下:e.target;
    IE: e.srcElement;
    例如: dom.addEventListener("click",function(e){
    var e = e||window.event;//兼容事件对象;
    var tag = e.target||e.srcElement;//兼容触发的元素;
    }
    3.阻止冒泡:
    谷歌下:e.stopPropagation();
    IE下:e.cancelBubble = true;
    4.阻止默认行为:
    谷歌:e.preventDefault();
    IE: e.returnValue=false;
    5.DOM2级绑定:
    1. 谷歌下绑定:
    语法:dom.addEventListener("事件类型",处理程序,布尔值);
    2. 谷歌下删除事件:
    语法:dom.removeEventListener("事件类型",处理程序,布尔值);
    注意:事件处理程序不能是匿名函数 必须是函数名;
    6.IE下的绑定和解除;
    1. 绑定:
    dom.attachEvent("on"+事件类名,事件处理程序);
    2.解除绑定:
    dom.detachEvent("on"+"事件类型",事件处理程序);

  2. 位置方法
    1.内宽高
    1. 元素的内高度:
    dom.clientHeight; // height+padding;
    2.内宽度:
    dom.clientWidth;//width+padding;
    2.外宽高
    1.dom.offsetWidth;//width+左右padding+左右border;
    2.dom.offsetHeight;//height+上下padding+上下border;
    3.获取屏幕可视区宽高
    1. window.innerWidth;
    2. window.innerHeight;
    2.位置获取;

    1. 获取点击位置到元素左上角的距离;
      1. e.offsetX;
      2. e.offsetY;
        注意:元素左上角是(0,0)点;
        2.鼠标在屏幕上的坐标
      3. e.clientX;
      4. e.clientY;
        3.鼠标在页面中的坐标
      5. e.pageX;
      6. e.pageY;
        注意:在没有滚动条的情况下 是一样的;
        4.元素相对于已定位的父元素或者父级元素的距离;
      7. dom.offsetLeft;
      8. dom.offsetTop;
        5.获取已定位的父元素或者父级元素
        语法:dom.offsetParent;
        3.获取元素的尺寸集合:
        语法:dom.getBoundingClientRect();
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容