事件

- 事件指的是用户和浏览器之间的交互行为。比如:点击按钮、关闭窗口、鼠标移动。。。

- 我们可以为事件来绑定回调函数来响应事件。

- 绑定事件的方式:

1.可以在标签的事件属性中设置相应的JS代码

例子:

<button onclick="js代码。。。">按钮</button>

2.可以通过为对象的指定事件属性设置回调函数的形式来处理事件

例子:

<button id="btn">按钮</button>

<script>

var btn = document.getElementById("btn");

btn.onclick = function(){

};

</script>

文档的加载

- 浏览器在加载一个页面时,是按照自上向下的顺序加载的,加载一行执行一行。

- 如果将js代码编写到页面的上边,当代码执行时,页面中的DOM对象还没有加载,

此时将会无法正常获取到DOM对象,导致DOM操作失败。

- 解决方式一:

- 可以将js代码编写到body的下边

<body>

<button id="btn">按钮</button>

<script>

var btn = document.getElementById("btn");

btn.onclick = function(){

};

</script>

</body>

- 解决方式二:

- 将js代码编写到window.onload = function(){}中

- window.onload 对应的回调函数会在整个页面加载完毕以后才执行,

所以可以确保代码执行时,DOM对象已经加载完毕了

<script>

window.onload = function(){

var btn = document.getElementById("btn");

btn.onclick = function(){

};

};

</script>

- 事件对象

- 当响应函数被调用时,浏览器每次都会将一个事件对象作为实参传递进响应函数中,

这个事件对象中封装了当前事件的相关信息,比如:鼠标的坐标,键盘的按键,鼠标的按键,滚轮的方向。。

- 可以在响应函数中定义一个形参,来使用事件对象,但是在IE8以下浏览器中事件对象没有做完实参传递,而是作为window对象的属性保存

- 例子:

元素.事件 = function(event){

event = event || window.event;

};

元素.事件 = function(e){

e = e || event;

};

- 事件的冒泡(Bubble)

- 事件的冒泡指的是事件向上传导,当后代元素上的事件被触发时,将会导致其祖先元素上的同类事件也会触发。

- 事件的冒泡大部分情况下都是有益的,如果需要取消冒泡,则需要使用事件对象来取消

- 可以将事件对象的cancelBubble设置为true,即可取消冒泡

- 例子:

元素.事件 = function(event){

event = event || window.event;

event.cancelBubble = true;

};

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。