c1认证事件部分

事件

UI事件

load事件(onload)

加载完毕后执行

正常打印:

正确:

案例(由于案例最开始是从Typora上保存的,显然复制的时候,出了问题,ty默认将head部分代码和JavaScript代码分开了,并且复制在排版上因为数量多内部可能会忽略排版,因为后面依然有很多源码,这里博主给大家再手动截图为大家提供更直观的资源,如果一定要排版好的源码做参考,可查看博主的资源,里面有原文档,好像是5积分来着)

<script> let box1=document.getElementsByClassName("box"); console.log(box1); window.onload=function(){ let box3=document.getElementById("box"); console.log(box3); } ​ </script>

</head>

<div class="box">class</div>
<div id="box">id</div>
</body>

<script> let box2=document.getElementById("box"); console.log(box2); ​ let box4=document.getElementsByClassName("box"); ​ console.log(box4); </script>

刚看了下上面的源码确实不完整,ty和其他编辑器之间的交互功能并不统一(不过这也是人家的特点,大家都觉得这软件不错) ,大体这样

打印

思考1?

resize

当浏览器大小变化时

scroll(滚动)

overflow:scroll

解答1!

鼠标事件

事件类型

onclick(单击)

ondblclick(双击)

oncontextmenu(右键菜单)

onmouseover(移入)

onmouseout(移出)

onmousedown(按下)

onmouseup(抬起)

onmousemove(移动)

事件对象

坐标位置

screenX

在屏幕中的x坐标

screenY

在屏幕中的y坐标

相对于body

clientX表示事件发生时鼠标指针在视口中的水平坐标(不包含滚动距离)

...我也不是很懂(到body的距离)

clientY 在视口中的垂直坐标

IE没有一下两个属性

pageX 在页面中的x坐标(包含滚动距离)

pageY 在页面中的y坐标

获取点击目标的坐标(有兼容性)

offsetX

offsetY

client和offset区别?

client和offset用法!

一般用于求绿色部分(以坐标体现)

此处附加c1事件代码

阻止冒泡

什么是冒泡?

同一个事件,由子级传递给父级称之为事件冒泡

fn stoppropagation()非IE

pro cancelBubble = true IE

冒泡实例

<script>
    // 重名定义
    let a=document.querySelector(".a");
    let b=document.querySelector(".b");
    // 这里试一下不带.
    // 只定义暂时未出现报错
    let c=document.querySelector(".c")
    a.onclick=function(){
        console.log("a");
        //  console.log(a);
        // bug原因,未带""
    }
    b.onclick=function(){
        console.log("b");
    }
    c.onclick=function(){
        console.log("c");
    }
    document.onclick=function(){
        console.log(document);
    }
    window.onclick=function(){
        console.log("window");
    }
</script>

 

解决冒泡问题

<script>
    // 重名定义
    let a=document.querySelector(".a");
    let b=document.querySelector(".b");
    // 这里试一下不带.
    // 只定义暂时未出现报错
    let c=document.querySelector(".c")
    a.onclick=function(e){
        console.log("a");
        //  console.log(a);
        // bug原因,未带""
        // stopPropagation一般用, e.cancelBubble用于IE
        if( e.stopPropagation){
            e.stopPropagation();
        }else{
            e.cancelBubble=true;
        }
​    }
​    // 一般用e.stopPropagation()就可以阻止冒泡
​    b.onclick=function(e){
​        console.log("b")
​        e.stopPropagation();
​    }
​    c.onclick=function(e){
​        console.log("c");
​        e.stopPropagation();
​    }
​    document.onclick=function(){
​        console.log(document);
​    }
​    window.onclick=function(){
​        console.log("window");
​    }
​    
</script>

记录

加上固定大小

这里是我在因为定义了每个盒子都是一样大,还设置了padding而导致的新排布,我打算把他用在自己的网站建设上

加margin-left后的布局

阻止默认

fn preventDefault() 非IE

pro returnValue=true IE

<body>

    <p>窗前明月光</p>

</body>

<script>


  // 窗口事件

  window.oncontextmenu=function(e){

​    //阻止默认事件

​    e.preventDefault();

  }

  let p=document.querySelector("p");

  // .p应该是不行,详情请见阻止冒泡部分

  p.onmousedown=function(e){

​    e.preventDefault();

  }



</script>

效果就是无法实现复制粘贴

dom0和dom2区别

<body>

<script>
// dom0

// window.onclick=function(){

// alert("我是dom0级别的弹窗")

// }

// window.onclick=function(){

// alert("我是dom0级别的弹窗2")

// }

// 这个带2的事件就不会再dom0级别事件下触发



// dom0级不能冒泡似的连续依次触发事件



// dom2

// addEventListener(事件类型,函数,是否捕获)(这句话很迷,看实际应用)

function a(){

alert(1);

}

window.addEventListener("click",a,false)//这里的false代表了冒泡事件,反之true就是捕获(居然不是阻止)

// 刚开始看下面的柿子有些复杂

window.addEventListener("click",function(){

alert(2);



},false



)

// 删除a事件

// window.removeEventListener("click",a)





</script>

</body>

捕获与冒泡的区别

什么是捕获?

同一个事件,由父级传递给子级,也就是谁先响应

什么是冒泡?

同一个事件,由子级传递给父级称之为事件冒泡

<script>
​    let a=document.querySelector(".a");
​    let b=document.querySelector(".b");
​    let c=document.querySelector(".c");
​    a.addEventListener("click",function(){
​        console.log("a");
​    },true);//默认为冒泡false
​    b.addEventListener("click",function(){
​        console.log("b");
​    },true);
​    c.addEventListener("click",function(){
​        console.log("c");
​    },true);
​    </script>

 

随手记快捷键

button{item$}*5

生成如下按钮

item1item2item3item4item5

事件委托

这里ty有时会直接展示浏览器效果(有些东西) 

放大镜案例*(难度在js的综合运用和编写程序的思维)

流程

还有一个当放大镜的滑块

总结:建议练习编程

关于positon:relative在放大镜中的理解

https://blog.csdn.net/u012881559/article/details/103704963?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166322667016782414960335%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166322667016782414960335&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-103704963-null-null.142^v47^pc_rank_34_ecpm25,201^v3^add_ask&utm_term=%20position%3A%20relative%3B&spm=1018.2226.3001.4187

补充:同或异或

拖拽事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白村第一深情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值