zoukankan      html  css  js  c++  java
  • CSS3中的mouse事件(mouseleave,mouseenter,mouseout,mouseover)

    当指针设备移动到存在监听器的元素或其子元素的时候,事件就会触发区别:

     mouseover,  mouseout(有冒泡机制)

    mouseenter,  mouseleave(无冒泡机制)

    代码伺候:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>hello</title>
    		<script src="js/jquery.js"></script>
    		<style type="text/css">
    			#test{
    				 300px;
    				height: 400px;
    				border: 1px solid;
    				background-color: skyblue;
    			}
    			#inner{
    				position: absolute;
    				 100px;
    				height: 100px;
    				right: 100px;
    				top: 300px;
    				background-color: aqua;
    			}
    			
    		</style>
    		<body>
    		    
    			<div id="test" onmouseover="console.log('hello');">
    				<div id="inner"></div>
    				
    			</div>
    		</body>
    </html>
    

    鼠标在inner元素上(也就是绑定了onmouseover事件的test元素的子元素)悬停:执行结果如下图:

              

    如果觉得不好理解:再看一个例子

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>hello</title>
    		<script src="js/jquery.js"></script>
    		<style type="text/css">
    			#test{
    				 300px;
    				height: 400px;
    				border: 1px solid;
    				background-color: skyblue;
    			}
    			#inner{
    				 100px;
    				height: 100px;
    				background-color: aqua;
    			}
    			
    		</style>
    		<body>
    		    
    			<div id="test" onmouseover="console.log('hello');">
    				<div id="inner"></div>
    				
    			</div>
    		</body>
    </html>
    

    运行结果:

           

     如果还是理解不了,可参看JS的事件流机制。

      JS的事件流的简要介绍:

      在标准的“DOM2级事件”中规定,事件流首先是经过事件捕获阶段,接着是处于目标阶段,最后是事件冒泡阶段。这里可以画个图示意一下:

       首先在事件捕获过程中,document对象首先接收到click事件,然后事件沿着DOM树依次向下,一直传播到事件的实际目标。就是id为btn的标签。

       接着在事件冒泡的过程中,时间开始是由具体的元素(a标签)接收,然后逐级向上传播到较为不具体的节点。

  • 相关阅读:
    Chrome快捷键
    Nginx之基本介绍(一)
    windows程序调试
    python有序字典
    value是列表的字典排序
    构造Map并对其排序
    python读取文件时遇到非法字符的处理 UnicodeDecodeError: 'gbk' codec can't decode bytes in position
    python正则表达式 分割字符串
    python3 导入模块
    python3 以utf-8编码写文件
  • 原文地址:https://www.cnblogs.com/xiaohaodeboke/p/12513266.html
Copyright © 2011-2022 走看看