博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js事件基础
阅读量:5052 次
发布时间:2019-06-12

本文共 883 字,大约阅读时间需要 2 分钟。

一、

1.如果body里面什么都不放,则给body加点击事件,发现并不能alert相应的东西。因为在body里面不放东西的时候body是根本没有被撑起来的,当我放了一个按钮进去,则body就被撑了起来,只有按钮那么高。点击除了按钮那一块之外的地方也是不行的。但是如果给document加点击事件就是可以的。

2.document的第一个子节点才是html。第0 个子节点视频里面讲的是!<!DOCTYPE html>但是我自己试验是undefined

<document>就像一个隐藏的节点,他包括了<!DOCTYPE html> 和<html>甚至包含了文档头的说明。

3.如果要给整个页面加事件,就要给document加,因为给body加可能撑不开。

二、事件对象

event.clientX event.clientY 在火狐下根本不认,根本没有反应。控制台报错,event没有定义。

在低版本的chrome下也不认。所以这个一般就是认为是ie下的写法。

在火狐下,要传个参数,这个参数是系统传的。

解决方法是 document.onclick = function(ev){

var oEvent = ev||event;

alert(oEvent.clientX+',');};这个地方如果ev和event的顺序换一下就会在火狐下就会报event undefined的错误。同样的道理在用if来解决兼容性的问题的时候也是这样,必须把ev放在前面。

三、事件流

1.事件冒泡

    

点击最里面的div他会一级一级的往上传,到body再到html最后到document。

事件冒泡在一些情况下会带来一些麻烦。比如下面的例子中,就是用了一个事件的cancelBubble来阻止事件冒泡。

    

 

转载于:https://www.cnblogs.com/zhuni/p/4782056.html

你可能感兴趣的文章
大型分布式网站架构技术总结
查看>>
HDU 1017[A Mathematical Curiosity]暴力,格式
查看>>
[算法之美] KMP算法的直观理解
查看>>
EntityFramework 性能优化
查看>>
【ASP.NET开发】菜鸟时期的ADO.NET使用笔记
查看>>
android圆角View实现及不同版本号这间的兼容
查看>>
OA项目设计的能力③
查看>>
Cocos2d-x3.0 文件处理
查看>>
全面整理的C++面试题
查看>>
Activity和Fragment生命周期对比
查看>>
查找 EXC_BAD_ACCESS 问题根源的方法
查看>>
日常报错
查看>>
list-style-type -- 定义列表样式
查看>>
Ubuntu 编译出现 ISO C++ 2011 不支持的解决办法
查看>>
Linux 常用命令——cat, tac, nl, more, less, head, tail, od
查看>>
VueJS ElementUI el-table 的 formatter 和 scope template 不能同时存在
查看>>
Halcon一日一练:图像拼接技术
查看>>
iOS设计模式 - 中介者
查看>>
centos jdk 下载
查看>>
HDU 1028 Ignatius and the Princess III(母函数)
查看>>