Js 监听器
在Ajax取数据时,采用$("#id").click(function(){})的方式不能正确设置监听,需要用$("#parent").on("click","id", function(){});
参考文章:
版权声明:本文为CSDN博主「花2不谢」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_25821067/article/details/74537973
本文主要介绍了解决给dom元素绑定click等事件无效问题的方法。具有很好的参考价值,下面跟着小编一起来看下吧
之前一直遇到js插件生成的元素,click事件无效的问题,重新绑定也不行,终于找到解决方法,在此记下来。
同时加深对js事件处理机制的理解。
1. 事件被解绑
这种情况下一般不会导致click失效,但以下情况,click事件就失效了:
$(function(){
$('.btn').unbind()
})
$('.btn').click(function(){
//...
})
所以,click事件要有个好习惯:
$(function(){
$('.btn').click(function(){
//...
})
})
2. js插件异步/动态加载dom
一般含有等待时间/开始运行时间:WaitTime
此时直接绑定/监听无效:
$(function() {
$('.container .btn').on('click',
function() {
//...
})
})
解决方法1:
$(function() {
setTimeout(function {
$('.container .btn').click(function() {
//...
})
//.btn 加载后事件
},
WaitTime)
})
解决方法2(事件委托,即委托给父元素):
$(function() {
$('.container').on('click', '.btn',
function() {
//...
})
})
3. ajax 异步加载的dom
可以在done()函数体中加click事件
同2中的事件委托方法。
4. 点击链接无反应
以下代码会导致a标签有href也无法跳转
$(function() {
$('a').on('click',
function(e) {
e.preventDefault()
//...
})
})
解决方法:
$(function(){
$('a').on('click',function(e){
e.preventDefault()
//...
})
$('a').unbind()
})
小结
1.事件绑定,事件监听,事件委托 相关链接
2.事件捕获与冒泡 相关链接
target.addEventListener(type, listener[, options]);
target.addEventListener(type, listener[, useCapture]);
事件捕获
父元素先发生,子元素后
事件冒泡
子元素先发生,父元素后
Js 监听器的更多相关文章
- Node.js 学习(六)Node.js EventEmitter
Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列. Node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件, 一个fs.read ...
- Javascript和jquery事件--事件监听器
之前看完了js和jq的冒泡捕获和事件对象event,这里看看同时使用js和jq后我最容易混淆的监听器的绑定. (1) js的监听器绑定解绑 绑定监听器有两种方式: a.on-事件type,比如oncl ...
- BOOM -- 智能合约编程
译注:原文首发于ConsenSys开发者博客,原作者为Eva以及ConsenSys的开发团队.如果您想要获取更多及时信息,可以访问ConsenSys首页点击左下角Newsletter订阅邮件.本文的翻 ...
- mvvm的初步思想
1.Object.defineProperty(obj,key,desc); 用法:1.给对象新增属性和特性 2.修改对象属性值和特性 desc(属性特性): 1.enumerable:boolean ...
- nodejs events
EventEmitter类 events模块提供一个对象:events.EventEmitter,核心是事件触发和事件监听的封装. 大多数时候不会直接使用EventEmitter,而是在对象中继承它( ...
- js事件监听器用法实例详解
这篇文章主要介绍了js事件监听器用法,以实例形式较为详细的分析了javascript事件监听器使用注意事项与相关技巧,需要的朋友可以参考下本文实例讲述了js事件监听器用法.分享给大家供大家参考.具体分 ...
- js事件监听器用法实例详解-注册与注销监听封装
本文实例讲述了js事件监听器用法.分享给大家供大家参考.具体分析如下: 1.当同一个对象使用.onclick的写法触发多个方法的时候,后一个方法会把前一个方法覆盖掉,也就是说,在对象的onclick事 ...
- 使用监听器解决路径问题,例如在jsp页面引入js,css的web应用路径
使用监听器解决路径问题,例如在jsp页面引入js,css的web应用路径 经常地,我们要在jsp等页面引入像js,css这样的文件,但是在服务器来访问的时候,这时间就有关到相对路径与绝对路径了.像网页 ...
- JS事件监听器
JS事件监听器 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Javasc ...
随机推荐
- jenkins 配置主从机制(master-slaver)
1. 中文:系统管理——节点管理——新建节点(左上侧) 英文:Manage Jenkins——Manage Node——新建节点(左上侧) 2. 中文配图 英文配图: 3. 远程工作目录 以mac为例 ...
- jenkins"控制台输出"乱码问题解决
今天在搭建Jenkins环境时,安装完Tomcat.Jenkins.创建项目进行构建后,在查看控制台输出时,结果中文全部显示乱码.然后呢,就是漫长的解决历程,最终呢,解决乱码问题的时间终于超过了环境搭 ...
- CSP-S2019 退役记/赛后总结
真就退役了呗. 作为一名非常失败的OIer,开了一个非常失败的blog,一直想在赛后写点什么,做点什么,总结些什么.自csp结束以来,徘徊了半个月,今夜里终于还是起笔了. 因为从来没写过这种玩意,不妨 ...
- sheet.getRow(rowIndex);为null_POI导出excel
第一次使用POI,出现这个问题,看到有其他猿也遇到过,不知道怎么处理,所以记录一下~ sheet.getRow(rowIndex);通过sheet获取指定行,rowIndex代表第几行 用rowInd ...
- Python JSON Ⅱ
json.loads json.loads 用于解码 JSON 数据.该函数返回 Python 字段的数据类型. 语法 实例 以下实例展示了Python 如何解码 JSON 对象: 以上代码执行结果为 ...
- BZOJ 1257 [CQOI2007]余数之和 数学
都不知道说什么好...咕咕到现在.. 求:$\sum_{i=1}^n \space k\space mod \space i$ 即求:$n*k-\sum_{i=1}^n\space \lfloor \ ...
- mobx是什么?有什么优点?
mobx是一个简单可扩展的状态管理库. mobx vs redux mobx是学习成本更低,性能更好的状态解决方案. mobx开发难度低: mobx代码量少: mobx渲染性能好: mobx参考
- kubernetes1.11.1 部署prometheus
部署前提:已经安装好了kubernetes的集群,版本是1.11.1,是用kubeadm部署的. 2台虚拟机:master:172.17.1.36 node1:172.17.1.40 pro ...
- Unknown property 'mybatis-plus' yml文件报错
就是因为没有对应的依赖 package com.taotao.config; import org.mybatis.spring.annotation.MapperScan; import org.s ...
- DP(第一版)
序 任何一种具有递推或者递归形式的计算过程,都叫做动态规划 如果你一开始学的时候就不会DP,那么你在考试的时候就一定不会想到用动态规划! 需要进行掌握的内容 1)DP中的基本概念 2)状态 3)转移方 ...