jQuery、Chrome 和复选框。奇怪的行为

2024-01-17

我浏览了该网站,似乎找不到这个问题的答案。如果确实存在,请随时引导我回答上述问题。

我目前正在尝试执行一些基于树的复选框操作,并且遇到了一些我觉得奇怪的行为。

在 Google Chrome 中,我发现检查复选框会留下一些“残留物”,如果您愿意的话,这将不允许我使用“attrRemove('checked');”检查或取消选中该复选框。

有趣的是,Internet Explorer (9) 具有我想要的结果。请在 Chrome 和 IE 中查看这个 jsFiddle 以更好地比较效果。

http://jsfiddle.net/xixionia/9K5ft/ http://jsfiddle.net/xixionia/9K5ft/

任何人都可以解释这些差异,以及我如何能够选中/取消选中 chrome 中已“手动”选中的复选框?

HTML

<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />

JavaScript

$(':checkbox').click(function(e) {

    if($(this).is(':checked')) {
        $(':checkbox').attr('checked', 'checked');
    } else {
        $(':checkbox').removeAttr('checked');
    }
});

在此先感谢您的帮助。 :)

edit:

我能够找到这个解决办法。如果其他人有任何其他解决方案,请告诉我,我会将其标记为解决方案。 :)

$(':checkbox').click(function(e) {
    var value = this.checked;
    $(':checkbox').each(function(){ this.checked = value; });
});

edit:

事实证明,这个问题是 jQuery 1.6 特有的。以前版本的 jQuery 不会遇到此问题。不过,我在这里发布了一个解决方案:使用 jQuery 设置“选中”复选框? https://stackoverflow.com/questions/426258/how-do-i-check-a-checkbox-with-jquery-or-javascript/5407529#5407529


当使用复选框(尤其是基于复选框的复杂逻辑)时,我总是尝试避免在复选框上使用 jQuery 事件处理程序。 jQuery 中有一个错误,与单击复选框和使用的浏览器时事件触发的顺序有关: 您可以找到部分问题的描述here http://www.bennadel.com/blog/1525-jQuery-s-Event-Triggering-Order-Of-Default-Behavior-And-triggerHandler-.htm。引用:

似乎当您触发复选框上的单击事件时,默认行为(切换选中的属性)会在事件处理程序触发后发生。这与浏览器自然处理复选框单击事件时发生的情况相反 - 切换选中属性,然后执行事件处理程序。 如果事件处理程序无论如何都依赖于复选框的状态,那么固有单击和 jQuery 的事件触发之间的操作顺序差异可能会导致一个大问题(如果您在复选框上有一个单击处理程序,则意味着它可能会这样做) )。

jQuery 将此称为一项功能,因为它从一开始就存在,将其更改为正确的行为只会杀死许多现有的应用程序。我经常遇到复选框和“选中”的问题,只是因为事件触发得太晚了。所以我只使用原生JS方式: input.checked 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery、Chrome 和复选框。奇怪的行为 的相关文章

  • 通过 jQuery 从输入类型=“文件”多个中删除文件

    我在使用 PHP 和 jQuery 上传文件时遇到问题 表单可以一次上传多个图像 这些图像可以在滑块中预览 表单还包含两个字段标题和描述 滑块通过 jQuery 工作 当用户通过单击选择文件来选择多个图像时
  • toLocaleDateString() 在 Chrome 中如何工作?

    我理解了javascript方法toLocaleDateString 使用的计算机设置 让我们来W3Schools 示例 http www w3schools com jsref tryit asp filename tryjsref to
  • 向特定客户端发送消息以及消息发送用户

    我是 SignalR 的初学者 我创建了一个基于 SignalR 的基本聊天应用程序 我面临的问题是我想向特定客户端以及发送消息的用户发送消息 这个怎么做 我知道要向特定客户端发送消息 我们可以这样做 Clients Client Cont
  • 通过 JavaScript 检测浏览器换行

    我需要 javascript 来检测每个浏览器包装的文本行并将其包装到 span class line 我读过一些关于测量每个单词的 y 轴的文章 但还没有看到可靠的解决方案 这是我到目前为止所拥有的 看到它Jsfiddle http js
  • Rails3/will_paginate/Ajax - 下一个/上一个链接无法正常工作(这是一个错误吗?)

    我正在遵循 使用ajax分页 http railscasts com episodes 174 pagination with ajax railscast 用于我的 Rails 3 应用程序 一切似乎都运行良好 除了上一个和下一个链接根本
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • CDATA 真的有必要吗?

    我经常使用内联 Javascript 通常是在我制作的 WordPress 主题中 我没有听说过将内联 Javascript 包装在 直到几个月前 几年来我一直在以相当的能力水平做这些事情 我用谷歌搜索了一下 听说人们使用它是因为他们的 J
  • jquery datatable ajax 无数据可用 mvc

    我有一张桌子是在 document ready功能 我还使用 jQuery DataTables 插件 由于某种原因 当页面加载时 ajax 调用控制器并返回数据并将其设置为我的网格所有获取的数据 但是尽管所有数据都加载到数据表中 但仍获取
  • 如何同步两个文本框表单值?

    大家好 我是 jQuery 新手 假设我有两个 HTML 文本框 如何才能实现这样的情况 如果我在文本框 A 中写入 则相同的值会转到文本框 B 如果我在 B 中写入 则相同的值会转到 A 与删除文本相同 在 jQuery 中如何做到这一点
  • 了解设置 JQuery 变量

    了解设置 JQuery 变量 最近 我通过在 StackOverflow 上遇到的另一个问题寻找帮助 了解到如何设置 JQuery 变量 如下所示 您可以通过简单地调用变量来创建输入字段 并且锚变量似乎也定义了样式 var clicked
  • Web 串行 API - 未捕获(承诺中)DOMException:无法打开串行端口/所需成员 baudRate 未定义

    下面的代码可以在我的 Xubuntu 机器上运行 但现在我在 Kubuntu 上 它不再工作了 它不会打开端口 Arduino IDE 工作正常 可以向开发板写入代码 并且我可以在 Chrome 中选择设备 Arduino Uno 但当我尝
  • 物化模式覆盖整个页面(模式弹出窗口未带到前台)

    由于保密原因 我无法上传 Web UI 的屏幕截图 物化模态应该表现得像here http materializecss com modals html 但不幸的是 我的网站发生的情况是 包括模式在内的整个页面都是 深色背景 的一部分 模式
  • jqgrid删除:没有获取值

    我使用 JSP 和 Servlet IDE Eclipse 数据库 Oracle10 开发 Web 应用程序 我在用JQGRID以表格格式显示数据 我还想要添加 编辑 删除的功能JQGRID 到目前为止我已经完成了编辑功能 现在我想要Del
  • jQuery 可以在用户输入数字时添加逗号吗?

    当用户输入数字时 如何动态添加逗号 有没有一个好的数字格式化程序可以提供帮助 我必须稍后添加这些数字 所以我最终必须删除一行中的逗号 但屏幕需要显示逗号以提高可读性 运行代码片段以查看其工作情况 input number keyup fun
  • 使用 JQuery 更改元素的顺序

    有人知道我做错了什么吗 我正在尝试更改某些图像的显示顺序 我希望每次按下按钮时图像都会向右 向左移动一个位置 这是我尝试过的 但没有运气 任何帮助或见解将不胜感激 rightShift click function img hide var
  • 我可以使用 jQuery 打开下拉列表吗

    对于 HTML 中的下拉列表
  • Jquery 验证不能正确验证数字?

    我在使用 jquery 非侵入式验证验证数字时遇到问题 我使用的版本是 ASP NET MVC 3 jQuery 1 9 1 jQuery 用户界面 1 10 1 JQuery 验证 1 11 0 我试图验证的输入是
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 在 ASP.NET Core MVC 中访问从视图到控制器的隐藏值

    我需要帮助使用 jQuery 从 ASP NET Core razor 视图页面传递隐藏控件值 jQuery 用于获取动态控件选定的值 section scripts
  • Javascript/Jquery:确定用户是否使用鼠标滚轮、滚动条或键盘滚动

    我正在尝试让用户界面正常工作 如果他们使用鼠标滚轮 我需要让它以一种方式滚动 如果他们使用滚动条 我需要让它以另一种方式滚动 如果他们使用键盘 我需要让它以另一种方式滚动 我相信滚轮和滚动条都充当鼠标事件 但是当单击滚动条时我无法让 jav

随机推荐

  • React 与 ReactDOM?

    我有点新的反应 我发现我们必须导入两件事才能开始 React and ReactDOM 任何人都可以解释其中的区别 我正在阅读反应文档 https reactjs org docs 但它没有说 React 和 ReactDOM 最近才被分成
  • C++ cout 不显示任何内容

    什么可以解释为什么 cout 在此代码中没有显示任何内容 我知道它与 v 0 1 行有关但我不知道为什么 有人有解释吗 编辑 我也知道改变 v 0 1 对于 v push back 1 会解决问题 include
  • FreeTDS 不使用配置的 tds 版本

    freetds v0 91 tds 版本不匹配 我想在 Ubuntu 14 04 上连接到带有 FreeBSD 的 Windows SQL Server FreeTDS 使用 apt get 安装 我使用以下命令尝试了不同的 tds 版本
  • iexpress 生成的可执行文件在 XP 上不是有效的 win32 应用程序

    我使用的是 c windows syswow64 中的 32 位 iexpress exe 生成的 exe 文件在 Windows 7 和 Windows 8 x64 上运行良好 我可以确认它是 32 位应用程序 然而 当尝试在 XP 上运
  • 用C语言访问Gmail

    python 有等效的吗libgmail http libgmail sourceforge net in C Edit 我正在努力实现相当于GmailFS http en wikipedia org wiki GmailFS在C 如果您能
  • 使用knitr时无法让LyX生成不在同一行的两个图

    这里是针织新手 喜欢这个包 一切都很顺利 除了在 LyX 中编译后两个图不会并排出现 不确定发生了什么 因为我正在逐字复制 knitr 图形手册 knitr graphics lyx 中的示例 我的 LyX 代码 在图形浮动中 lt
  • Spring boot:排除一些自动配置的bean

    我有一个使用 spring kafka 的 Spring boot 项目 在这个项目中 我构建了一些包装 spring kafka beans 的事件驱动组件 即 KafkaTemplate 和 ConcurrentKafkaListene
  • 如何通过.NET/C# 查找CPU 核心数?

    有没有办法通过 NET C 找出CPU核心数 PS这是一个直接的代码问题 而不是 我应该使用多线程吗 问题 您可以获得与处理器相关的多种不同信息 物理处理器数量 核心数 逻辑处理器的数量 这些都可以不同 如果机器具有 2 个支持超线程的双核
  • 带有 angular2 的非 SPA

    我开始使用 Angular2 带有 Express js 后端 目的是将页面的几个部分的控制权传递给 Angular2 组件 但我最终意识到 当 Angular2 控制页面的整个区域时 系统会更有效 但是 我的应用程序不是 SPA 除了保存
  • log4net 多个附加程序,写入事件查看器

    我使用 log4net 进行日志记录 我有两个附加程序 一个文件和另一个事件日志附加程序 我在注册表编辑器中注册了应用程序 问题是现在两个记录器都在事件查看器中写入 我需要fileAppender写入文件并eventLogAppender显
  • Cakephp find函数中限制sql

    我如何在cakephp中的sql中使用限制 我的意思是下面是sql select from emp limit 3 4 如何在 find 函数中使用上述限制 3 4 更好的方法 this gt Emp gt find all array l
  • VB6 子串索引

    我正在尝试在 VB6 中匹配电子邮件地址字符串中的域名 但这不是我的日常语言 我基本上想从地址中提取域名 即 电子邮件受保护 cdn cgi l email protection 进行比较 我想通过获取 之后的所有内容来提取它 我想找到 的
  • R 中的 3d 曲面图

    我正在寻找使用 Rplotly库来创建 x y z 坐标数据的 3D 曲面图 类似于下面的链接所示 https plot ly r 3d surface plots https plot ly r 3d surface plots 看来pl
  • 如何在每次显示视图控制器时随机化 UILabel 文本

    如何在每次显示视图控制器时使 ViewController 中的标签具有不同的文本字符串 谢谢 我正在使用 Swift 3 假设您知道如何添加UILabel给你的ViewController 这里是如何在开始时选择随机文本的快速示例 cla
  • Haskell 中的自定义 concat (++) 运算符

    是否可以定义我自己的 Haskell 中自定义数据类型的运算符 I have data MyType MyType String 我想将我自己的串联运算符定义为 instance MyType where MyType x MyType y
  • java.lang.IllegalArgumentException:指定的类型 [com.sun.faces.application.WebappLifecycleListener] 不是预期的侦听器类型之一

    我遇到了以下问题 我有一个使用 Java 8 和 tomcat 7 的应用程序 现在我尝试转向 tomcat 8 我下载了一个开发环境 tomcat 8 二进制文件并开始在 eclipse 中工作 我添加了一个新服务器 Apache tom
  • Android按钮动画与计时同步

    我需要建议如何创建一些我想添加到按钮中的动画 其实我有动画代码 我需要的是如何正确设置每个动画的时间 这是我已经尝试过的 fest setVisibility View INVISIBLE handler postDelayed new R
  • 使用Python检测图像是彩色、灰度还是黑白

    我从 jpeg 格式的 PDF 文件中提取页面图像 我需要确定每个图像是否更灰度 彩色或黑白 具有容差因子 我找到了一些使用 PIL 进行颜色检测的方法 here https stackoverflow com questions 2270
  • 检查 fortran 中数组是否可分配

    在 Fortran 中 可以使用以下命令检查可分配数组是否已分配allocated陈述 program test allocated integer i 4 real 4 allocatable x print before allocat
  • jQuery、Chrome 和复选框。奇怪的行为

    我浏览了该网站 似乎找不到这个问题的答案 如果确实存在 请随时引导我回答上述问题 我目前正在尝试执行一些基于树的复选框操作 并且遇到了一些我觉得奇怪的行为 在 Google Chrome 中 我发现检查复选框会留下一些 残留物 如果您愿意的