一个大div里面包裹一个小div,里面的小div的点击事件不触发外面的这个大div的点击事件
一开始上html代码
<div id="div1" style="background: blue;width: 100px; height: 100px;">
<div id="div2" style="background: red;width: 70px; height: 70px;">
</div>
</div>
就是这样的一段代码,
大的div==>div1
小的div==>div2
当代码是
$('#div1').click(function(e) {
    alert('div1');
})
$('#div2').click(function(e) {
    alert('div2');
})
正常这样写点击代码,当点击在div2上这个区域,会触发到div1的点击事件,就是会先弹出div2-->div1
但是我想要的效果只是想点击div2区域时,只弹出div2
那现在这里有两种方案,还有的请欢迎补充
第一种,因为是冒泡了,所以阻止冒泡
$('#div1').click(function(e) {
    alert('div1');
})
$('#div2').click(function(e) {
    e.stopPropagation()
    alert('div2');
})
这样的话,点击div2区域只会弹出div2
点击div1只会弹出div1
第二种,因为div2覆盖在div1里面,所以不管你点击那个地方,都是触发了div1的区域,所以当点击的时候,判断这个区域是不是div2的区域,如果是的话,就触发div2,如果不是的话就触发div1
 $('#div1').click(function(e){
     // e.preventDefault();
     if($(e.target).is('#div2')){
         alert('div2')
     }else{
         alert('div1')
     }
 })
好了 我试过的就是这两种方案,欢迎大家指教补充
现在还有一种情况,就是如果是两个div外面还有一个a标签的话,想点击大的div的时候跳转链接,点击小的div的话还是执行其他操作的话
html结构代码如下
<a href='http://www.baidu.com'>
<div id="div1" style="background: blue;width: 100px; height: 100px;">
<div id="div2" style="background: red;width: 70px; height: 70px;">
</div>
</div>
</a>
现在的效果是想点击div2的时候执行一个事件,点击div1的时候跳转链接
这样的话可以有两种方案
第一种:阻止默认事件也就是a标签跳转
$('#div2').click(function(e) {
    alert('div2');
    event.preventDefault();
})
第二种:return
$('#div2').click(function(e) {
    alert('div2');
    return false;
})
一个大div里面包裹一个小div,里面的小div的点击事件不触发外面的这个大div的点击事件的更多相关文章
- WPF 自定义一个控件,当点击按钮是触发到ViewModel(业务逻辑部分)和Xaml路由事件(页面逻辑部分)
		#region - 用于绑定ViewModel部分 - public ICommand Command { get { return (ICommand)GetValue(CommandPropert ... 
- div+css 怎么让一个小div在另一个大div里面 垂直居中
		div+css 怎么让一个小div在另一个大div里面 垂直居中 方法1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 .parent { width:800 ... 
- WEB前端面试题 分别使用2个、3个、5个DIV画出一个大的红十字
		<!DOCTYPE html> <!--两个DIV--> <html> <body> <div style="width:100%;he ... 
- 6.bootstrap 将文本内容关联一个动作(手机端导航适配)&在超小尺寸下显示,屏幕变大后消失
		1.情景:这是出现在手机端导航适配的,点击文本MENU可以出现下拉的list 解决方法: 1.首先要想到,MENU只有两个状态,因此可以用checkbox实现 2.将MENU放在label标签里面,l ... 
- DIV+CSS常见问题:DIV如何设置一个像素高度?
		CSS如何控制DIV实现1像素高度呢?问题看起来很简单,但万恶的IE6会让你很麻烦,不过解决办法很多,本文将介绍最简单的一种:DIV{height:1px;line-height:1px;font-s ... 
- 如何让一个div里面的div垂直居中?
		如何让一个div里面的div垂直居中? 如何让上面灰色有文字那个div和背景图标垂直居中,不管屏幕大小有好大,始终在垂直方向上的中间.上面有整个布局和样式表,谢谢高手指点 CSS3时代当然要用CSS3 ... 
- 一个页面两个div(一个柱状图或者折线图一个饼图)
		需求是一个页面中两个图,一个饼图一个折线图,接口用的是一个接口,柱状图的图例要隐藏掉,X轴为月份,每月份都有两个数据,也就是图例是两个(进口和出口)的意思饼图需要显示最新月份数据,并且有一个下拉框可以 ... 
- div中放入一个img元素导致div高度会多出几个像素
		在写代码的时候经常遇到这样一个问题,如果div里嵌套一个img元素且div的高度是由img的高度来撑开,那么div的高度总会比img的高度多3px.好了,废话不多说,直接给大家上代码. html代码: ... 
- 点击一个div隐藏另一个div
		<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ... 
随机推荐
- bzoj1062【Noi2008】糖果雨
			orz.....神tm数形结合题 题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1062 插入线段,删除线段,查询区间内线段个数,线段随时间往复 ... 
- ACE线程管理机制-并发控制
			ACE有若干可用于并发控制的类.这些类可划分为以下范畴: ACE Lock类属 ACE Guard类属 ACE Condition类属 ACE Synchronization类 由于篇幅较长,我分别写 ... 
- [lottery anayliser]lottery anayliser
			抓取网页,获得获奖信息 #!/usr/bin/python import urllib2 import re import time def spider(url): ""&quo ... 
- opencv学习笔记二
			1,读取照片(imread()) 2,处理照片(cvtcolor()) 3,命名窗口(namewindow()) 4,显示照片(imshow()) 5,保存照片(imwrite()) #include ... 
- UVA 1210 Sum of Consecutive Prime Numbers
			https://vjudge.net/problem/UVA-1210 统计质数前缀和,枚举左右端点,这一段的区间和+1 #include<cstdio> #define N 10001 ... 
- Flask从入门到放弃1:路由app.route()
			Flask从入门到放弃1: Flask中的路由app.route(): 参考来源:http://python.jobbole.com/80956/ https://www.raspberrypi.or ... 
- jsp03( javabeans)
			1.javabean简介 Javabeans就是符合某种特定规范Java类.使用Javabeans的好处是[解决代码的重复编写],减少代码冗余,功能区分明确,提高代码的维护性. 2.javabean的 ... 
- JMeter 保持sessionId
			因项目需要,这几天用到了jmeter进行性能测试,测试的是一个管理系统,需要用户先登录,然后才能做操作的,其中就遇到了关于session的问题. 我使用的是badboy(版本2.1)进行的脚本录制,然 ... 
- 一个App架构例子分析--UI层使用MVP模式;各层之间使用Otto实现通信
			一.这个App整体的架构划分: 分为四大模块: 1.app模块 2.common模块 3.domain模块 4.model模块 app模块的依赖: dependencies { c ... 
- 【BZOJ】1704: [Usaco2007 Mar]Face The Right Way 自动转身机
			[题意]n头牛,一些向前一些向后,每次可以使连续k头牛转身,求使旋转次数最小的k. [算法]贪心 [题解]这题题解很迷,大概思想是k没有单调性,故枚举k,从左到右扫描遇到一只向后的牛就旋转一次. 贪心 ... 
