当前位置: 首页 > 面试题库 >

复选框更改和单击事件之间的jQuery区别

公孙阳文
2023-03-14
问题内容

如标题所示,我想知道checkbox changeclick事件之间的区别(在jQuery中)

我已经读完了答案,复选框上的.click和.change有什么区别

但是,它对我不起作用。change即使我在不​​失去焦点的情况下射击也会触发。

两者似乎都在工作。我在这里想念什么吗?


问题答案:

根据W3C,该onclick事件是由键盘出于可访问性目的触发的:

为了给不使用鼠标的用户提供更好的用户体验,已经开发了浏览器来触发onclick事件,即使使用键盘进行 单击 也是如此。

因此,click即使使用键盘的空格键单击了复选框,jQuery的事件也会触发。change,显然,每次复选框状态更改时都会触发。

复选框恰好是changeclick可互换的特殊情况,因为您不能在change没有触发的情况下触发事件click

当然,此规则的例外情况是您是否要使用javascript手动更改复选框,例如:

/* this would check the checkbox without firing either 'change' or 'click' */
$('#someCheckbox').prop('checked',true);

/* this would fire 'change', but not 'click'. Note, however, that this
   does not change the checkbox, as 'change()' is only the function that
   is fired when the checkbox changes, it is not the function that
   does the changing  */
$('#someCheckbox').trigger('change');

/* this would fire 'click', which by default change state of checkbox and automatically triggers 'change' */
$('#someCheckbox').trigger('click');

希望这可以帮助。



 类似资料:
  • 问题内容: 此处使用复选框状态更新文本框值。我用来确认取消选中的操作。如果用户选择“取消”,则复选标记会恢复,但会在确认前触发。 这会使事情处于不一致状态,并且选中复选框时文本框会显示false。 如何处理取消并保持文本框值与检查状态一致? 问题答案: 在JSFiddle中进行了测试,可以满足您的要求。这种方法的附加好处是,当单击与复选框关联的标签时,可以触发。 更新的答案: 原始答案:

  • 问题内容: 我希望一个事件在选中/未选中复选框时触发客户端: 基本上,我希望页面上的每个复选框都发生这种情况。这种触发点击并检查状态的方法可以吗? 我认为必须有一种更清洁的jQuery方式。有人知道解决方案吗? 问题答案: 绑定到事件而不是。但是,您可能仍然需要检查是否已选中该复选框: 绑定到 事件 而不是事件的主要好处是,并非所有对复选框的单击都会导致其更改状态。如果只想捕获导致复选框更改状态的

  • 我正在尝试做一些非常简单的事情,在点击按钮时更改文本。 我似乎无法使用它,有人能告诉我添加ActionListener的正确位置吗? 主要类别 atmGUI类 编辑: 这是产生的错误 类型new ActionListener(){}必须实现继承的抽象方法ActionListener.actionPerform(ActionEvent)

  • 我有一个像标志一样的布尔字段来声明表中的行是否被删除。它使用复选框显示,因此如果数据已被删除,复选框值为true,反之亦然。 以下是显示表格的代码: 在表中,我可以单击复选框,但我不知道如何处理单击事件,因为我使用数据来显示数据。如何处理复选框事件使用可数据?

  • 使用RichTextFX,我能够创建一个包含字符串的代码区,并突出显示属于字符串[]关键字数组的所有单词。 我在上方有一个复选框控件,我在我的控制器代码中附加了一个,因此每当单击复选框时,它都会取消突出显示中所有突出显示的单词。我在取消突出显示(使文本背景为白色)中的文本时遇到了麻烦,因为styleClass是在下面显示的方法中定义的。现在一切正常,除了我单击复选框时,它不会取消突出显示单词: F

  • 问题内容: 我有一个id为id的按钮。我将此元素附加了两个jQuery事件 1。 2。 但是每次它给我 问题答案: 您需要使用超时来检查第一次点击后是否还有另一次点击。 这是窍门: 用法: