table表格里面td的点击冒泡事件
2017-09-08 16:52
232 查看
html部分:
<div class="wrapper">
<div class="container">
<table>
<tr>
<td>项目一:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目二:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目三:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目四:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
</tr>
<tr>
<td>项目一:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目二:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目三:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目四:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
</tr>
</table>
</div>
</div>
javascript部分:
<script>
function buttonClick(){
//不同浏览器对冒泡的不同处理方法
if (event.stopPropagation){
// this code is for Mozilla and Opera
event.stopPropagation();
}else if (window.event) {
// this code is for IE
window.event.cancelBubble = true;
}
//点击按钮事件:邻近的div.win-con弹出,其他位置的div隐藏
$(".btn").click(function(){
$(this).next(".win-con").show();
$(this).parent().siblings().children(".win-con").hide();
$(this).parent().parent("tr").siblings().children().children(".win-con").hide();
});
//点击全部dom,都会触发的事件,弹框隐藏
$("body").click(function(){
$(".win-con").hide();
});
//点击弹出的弹框,弹框不隐藏
$(".win-con").click(function(){
if (event.stopPropagation){
// this code is for Mozilla and Opera
event.stopPropagation();
}else if (window.event) {
// this code is for IE
window.event.cancelBubble = true;
}
});
}
</script>
css样式:
*{
margin: 0;
padding: 0;
}
ul,li{
list-style: none;
}
html,body{
width: 100%;
height: 100%;
}
.wrapper {
width: 100%;
height: 100%;
}
.container{
width: 1000px;
margin: 30px auto;
height: auto;
}
.container table {
width: 100%;
text-align: center;
border-collapse: collapse;
}
.container table td {
position: relative;
padding: 5px;
border: 1px solid #CCCCCC;
}
.btn {
cursor: pointer;
}
.win-con{
display: none;
position: absolute;
height: auto;
padding: 5px;
background-color: #ffffdd;
border: 1px solid #F9D049;
z-index: 2;
}
.win-con ul {
padding: 10px;
white-space: nowrap;
text-align: left;
}
还有一点儿差强人意,就是在谷歌浏览器中,第一个开始点击的时候会点击两次才会弹出弹框,IE浏览器是正常点击的,希望各位大神们给指点一二,跪谢。。。
<div class="wrapper">
<div class="container">
<table>
<tr>
<td>项目一:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目二:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目三:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目四:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
</tr>
<tr>
<td>项目一:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目二:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目三:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
<td>项目四:</td>
<td>
<input type="button" class="btn" onclick="buttonClick();" value="点击弹框" />
<div class="win-con">
<ul>
<li>进行中:100 </li>
<li>未完成:33 </li>
<li>已处理问题:21 </li>
<li>待解决问题:23 </li>
</ul>
</div>
</td>
</tr>
</table>
</div>
</div>
javascript部分:
<script>
function buttonClick(){
//不同浏览器对冒泡的不同处理方法
if (event.stopPropagation){
// this code is for Mozilla and Opera
event.stopPropagation();
}else if (window.event) {
// this code is for IE
window.event.cancelBubble = true;
}
//点击按钮事件:邻近的div.win-con弹出,其他位置的div隐藏
$(".btn").click(function(){
$(this).next(".win-con").show();
$(this).parent().siblings().children(".win-con").hide();
$(this).parent().parent("tr").siblings().children().children(".win-con").hide();
});
//点击全部dom,都会触发的事件,弹框隐藏
$("body").click(function(){
$(".win-con").hide();
});
//点击弹出的弹框,弹框不隐藏
$(".win-con").click(function(){
if (event.stopPropagation){
// this code is for Mozilla and Opera
event.stopPropagation();
}else if (window.event) {
// this code is for IE
window.event.cancelBubble = true;
}
});
}
</script>
css样式:
*{
margin: 0;
padding: 0;
}
ul,li{
list-style: none;
}
html,body{
width: 100%;
height: 100%;
}
.wrapper {
width: 100%;
height: 100%;
}
.container{
width: 1000px;
margin: 30px auto;
height: auto;
}
.container table {
width: 100%;
text-align: center;
border-collapse: collapse;
}
.container table td {
position: relative;
padding: 5px;
border: 1px solid #CCCCCC;
}
.btn {
cursor: pointer;
}
.win-con{
display: none;
position: absolute;
height: auto;
padding: 5px;
background-color: #ffffdd;
border: 1px solid #F9D049;
z-index: 2;
}
.win-con ul {
padding: 10px;
white-space: nowrap;
text-align: left;
}
还有一点儿差强人意,就是在谷歌浏览器中,第一个开始点击的时候会点击两次才会弹出弹框,IE浏览器是正常点击的,希望各位大神们给指点一二,跪谢。。。
相关文章推荐
- table,td点击事件冒泡。禁止ie,firefox中事件冒泡。
- jQuery注册表格(table)行(tr)点击选中checkbox事件
- 点击编辑按钮,前端table表格行内指定td可修改。(table是动态生成的)
- 【JavaScript】table里面点击某td获取同一行tr的其他td值
- jquery表格可编辑修改表格里面的值,点击td变input无刷新更新表格
- 对表格的td标签执行点击事件
- jquery表格可编辑修改表格里面的值,点击td变input无刷新更新表格
- 点击Table中TD表格变色
- Angularjs中table中实现点击td中按钮不触发tr的点击事件
- table里面怎么设置td的样式和Excel里面的表格一样&&当光标浮动td上到元素上时如何显示全部文本。
- js处理一个div里面多个点击事件时出现的事件冲突 重复的解决方法 事件冒泡
- jquery表格可编辑修改表格里面的值,点击td变input无刷新更新表格
- 关于表格td点击事件的监听
- dwz框架的table,页面初始化用ajax获取并设置表格内容后,表格没有点击事件等。
- 在点击div中的p时,如何阻止事件冒泡
- 百度地图 点击marker事件冒泡问题处理
- JSP页面onclick点击事件无法更换img标签里面的图片(例如点击更换验证码图片)
- 点击tr实现选择checkbox功能,点击checkobx的时候阻止冒泡事件
- js利用事件的阻止冒泡实现点击空白模态框的隐藏
- Android-ListView所包含的item里面的控件点击事件