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标签)接收,然后逐级向上传播到较为不具体的节点。

  • 相关阅读:
    HDU 1175 连连看 (DFS+剪枝)
    CF702F T-Shirts
    UVA12538 Version Controlled IDE
    P2605 [ZJOI2010]基站选址
    P3835 【模板】可持久化平衡树
    CF915E Physical Education Lessons
    P3701 「伪模板」主席树
    P1198 [JSOI2008]最大数
    P3466 [POI2008]KLO-Building blocks
    P3919 【模板】可持久化数组(可持久化线段树/平衡树)
  • 原文地址:https://www.cnblogs.com/xiaohaodeboke/p/12513266.html
Copyright © 2011-2022 走看看