Jquery点击事件只触发一次的解决方法
来源:互联网 发布:电大和网络教育的区别 编辑:程序博客网 时间:2024/05/16 13:38
方案一:
<script>$(function () { $("#all").click(function(){ if(this.checked){ $("#list :checkbox").attr("checked", true); }else{ $("#list :checkbox").attr("checked", false); } });});</script>
方案二:
<script>$(function () { $("#all").click(function(){ if(this.checked){ $("#list :checkbox").prop("checked", true); }else{ $("#list :checkbox").prop("checked", false); } });});</script>
今天在设置checkbox全选功能时,使用方案一在测试时发现全选功能在页面不刷新的情况下只能执行一次, 查看官方文档, 才知道从 jQuery 1.6 开始新增了一个方法 prop(),但是一直都没有使用过。
从中文意思看,两者分别是获取/设置 attributes 和 properties 的方法,那么为什么还要增加 prop() 方法呢?
Before jQuery 1.6, the .attr() method sometimes took property values
into account when retrieving some attributes, which could cause
inconsistent behavior.
因为在 jQuery 1.6 之前,使用 attr() 有时候会出现不一致的行为。
那么,什么时候使用attr(),什么时候使用prop()?
To retrieve and change DOM properties such as the checked, selected,
or disabled state of form elements, use the .prop() method.
根据官方的建议:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()
到此,将 attr(‘checked’) 改成 prop(‘checked’) 即可修复提的 issues 了。
0 0
- Jquery点击事件只触发一次的解决方法
- jquery hover事件只触发一次动画
- easyui filebox 只触发一次 onChange 事件解决方法
- jQuery给一个元素绑定事件前,一次点击会多次触发的问题所在
- jquery触发点击事件
- Jquery控制点击事件的触发顺序
- 关于AJAX只触发一次后台调用的解决方法
- Jquery实现点击子元素标签只触发子元素点击事件,不触发父元素点击事件
- JS的事件多次触发,只执行最后一次
- jQuery 只执行一次的事件 one
- ASP.NET GridView 后台绑定行点击行触发SelectedIndexChanged,页面刷新后,只有一页的情况下,事件只触发一次
- iOS解决按钮短时间内多次点击只触发一次事件方法(开始写博客)
- iOS解决按钮短时间内多次点击只触发一次事件方法
- iOS解决按钮短时间内多次点击只触发一次事件方法
- 代码控制一段时间只触发一次事件(防止多次点击) Android
- iOS解决定时器按钮短时间内多次点击只触发一次事件方法
- input file change事件只触发一次
- 43.点击事件开始自动触发一次
- RxJava笔记
- 王爽《汇编语言》实验11——编写子程序
- 107. Binary Tree Level Order Traversal II
- F28027第九课---SPI操作解读
- MFC 获取App,Doc,MainFrame,View指针
- Jquery点击事件只触发一次的解决方法
- C++ 课程设计学生成绩管理系统源代码
- [OS复习]程序装入技术、简单存储管理技术
- 把二叉树打印成多行
- CodeForces 367D Vasiliy's Multiset Trie树
- android 之ListView
- 解决jdk1.8中发送邮件失败(handshake_failure)问题
- POJ 2195 Going Home [二分图带权匹配] [费用流]
- android studio导入项目报错Plugin with id 'com.android.application' not found.解决