JS - 点击事件排除父级标签
点击事件排除父级标签,这里使用的是stopPropagation()方法。event.stopPropagation();
对了,这里还用了解除click事件,unbind。
下面这篇博文,介绍挺全的
http://www.cnblogs.com/zhangq723/archive/2011/04/02/2003358.html
把文章拷贝了一下,在这个折叠中。
移除事件
unbind(type [,data]) //data是要移除的函数
$('#btn').unbind("click"); //移除click
$('#btn').unbind(); //移除所有
对于只需要触发一次的,随后就要立即解除绑定的情况,用one()
$('#btn').one("click",function(){.......});
模拟操作
可以用trigger()方法完成模拟操作。
$('#btn').trigger("click");
$('#btn').click();
触发自定义事件
$('#btn').bind("myclick",function(){....});
$('#btn').trigger("myclick");
传递数据
trigger(type [,data])
$('#btn').bind("myclick",function(event,message1,message2){...........});
$('#btn').trigger("myclick",["传给message1","传给message2"]);
执行默认操作
$("input").trigger("focus");
//不仅会触发input元素绑定的focus事件,还会触发默认操作——得到焦点。
$("input").triggerHandler("focus");
//只触发绑定事件,不执行浏览器默认操作
其他用法
绑定多个事件类型
$("div").bind("mouseover mouseout",function(){.....});
添加事件命名空间
$("div").bind("click.plugin",function(){......});
在所绑定的世界类型后面添加命名空间,这样在删除事件时只需要指定命名空间即可。
$("div").unbind(".plugin"); //删除空间内的事件
$("div").trigger("click!"); //触发所以不包含在命名空间中的click方法
如果包含在命名空间的也要触发:
$("div").trigger("click");
绑定相关
stopPropagation() 方法介绍:
定义和用法
不再派发事件。
终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。
语法
event.stopPropagation()
说明
该方法将停止事件的传播,阻止它被分派到其他 Document 节点。在事件传播的任何阶段都可以调用它。注意,虽然该方法不能阻止同一个 Document 节点上的其他事件句柄被调用,但是它可以阻止把事件分派到其他节点。
//一级类别点击设置
function setFirstClick() {
var fa = $('.first-sort .a');
fa.unbind(); //移除所有
fa.each(function (i) {
$(fa[i]).click(function () {
alert(1)
});
});
} //二级类别点击设置
function setSecondClick() {
var fb = $('.first-sort .a.select .second-sort .b');
fb.unbind(); //移除所有
fb.each(function (i) {
$(fb[i]).click(function (event) {
alert(2);
event.stopPropagation();
});
});
} //三级类别点击设置
function setThirdClick() {
var fc = $('.first-sort .a.select .second-sort .b.select .third-sort .c');
fc.unbind(); //移除所有
fc.each(function (i) {
$(fc[i]).click(function (event) {
alert(3);
event.stopPropagation();
});
});
}
点击事件排除父级标签
JS - 点击事件排除父级标签的更多相关文章
- js点击事件防止用户重复点击执行
点击事件里给button标签加一个自定义属性,存上次点击时间 追问: 求详细代码,JS 真心的没怎么做过 追答: <input type="button" id=&quo ...
- JS中点击事件冒泡阻止
JS中点击事件冒泡阻止 解析: 一个div层'out',内含有一个div层'in'.如下: 两个层都绑定了点击事件,但是点击in层的时候,点击事件会出现冒泡现象,同时也会触发out层的点击事件. 但是 ...
- IE下 input 的父级标签被 disabled 之后引发的怪异行为
前段时间做了个网盘类的项目,意外发现了这个情况 IE下,将input的父级标签增加 disabled 属性之后,input 的行为变得怪异: 1.input 背景变灰,疑似也被disabled 了. ...
- 项目遇到的小问题(关于vue-cli中js点击事件不起作用和iconfont图片下载页面css样式乱的解答)
第一个:关于vue-cli中js点击事件不起作用 在vue的methods方法queryBtnFun()中拼接html和click操作事件的时候,发现点击事件一起未起作用: 后来发现是DOM执行顺序 ...
- IOS的UIWebView中JS点击事件,需要加入cursor:pointer;属性才可以
IOS的UIWebView中JS点击事件,需要加入cursor:pointer;属性才可以. Android的WebView可以支持外链样式,js文件:IOS则需要改为内嵌样式和JS文件.
- JS 点击事件学习总结
废话篇: 在我们编写无论什么网页内容的时候我们总是或多或少的要接触到点击事件这一范畴的,写过几个简短的demo和网页之后,感觉自己对电机事件一类的东西了解也更为的清楚了,之前写过很多零零散散的东西现在 ...
- 转:js点击事件在ios中失效的3种解决方案
ios中不允许将点击事件绑定在document或者body上,如果绑定上的话将会失效.解决方案: 例如: $(document).on('click', '#generate', function ...
- js动态绑定class(当前父级div下的子元素有没有这个class,有的话移除,没有的话添加)
<div class="layui-inline" id=‘’ onclick="changeType(id)"> ...
- jQuery获取点击对象的父级
一.使用$('body').on('click','.index',function(event){})绑定事件时,例: <div class="project-box"&g ...
随机推荐
- android设置主mic/副mic录音
//添加MIC设置参数 /hal/audio_extn/audio_extn.c @@ -75,6 +75,7 @@ struct audio_extn_module { bool ras_enabl ...
- MySQL存储过程、触发器 小例子
一.存储过程 语法: CREATE PROCEDURE([[IN |OUT |INOUT ] 参数名 数据类形...]) BEGIN ... END 参数: IN 输入参数 表示该参数的值必须在调用存 ...
- 多线程系列三:Lock和Condition
有了synchronized为什么还要Lock? 因为Lock和synchronized比较有如下优点 1. 尝试非阻塞地获取锁 2. 获取锁的过程可以被中断 3. 超时获取锁 Lock的标准用法 p ...
- Java如何处理异常方法?
在Java编程中,如何处理异常方法? 本例展示了如何使用System类的System.err.println()方法处理异常方法. package com.yiibai; public class E ...
- Java如何中断正在运行的线程?
在Java编程中,如何中断正在运行的线程? 以下示例演示如何使用Thread类的interrupt()方法中断正在运行线程,并检查线程是否使用isInterrupted()方法中断. package ...
- Python:数组、队列及堆栈的使用(list用法)--转
Python编程中数组.队列及堆栈用于保存一组数据或对象的序列,元素可以是各种类型混合在一起,定义格式为[元素,元素,……,元素],用变量[位置]即可取出相应的元素,其中“位置”是从零开始计算. 数组 ...
- linux rinetd 端口转发部署
linux下简单好用的工具rinetd,实现端口映射/转发/重定向 Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具.Rinetd是单一过程的服务器,它 ...
- 常用的PostBuild Event 脚本
参考: http://blog.csdn.net/fengzhijiaxu/article/details/4827364 http://blog.csdn.net/teng_ontheway/art ...
- 如何更改webstrom的默认端口63342
- linux 最大文件查找
sudo du -s * | sort -nr | head 显示前10个占用空间最大的文件或目录 sudo du --max-depth=1 linux查找占空间最大的文件与目录 ...