javascript - 同时在标签和复选框上绑定(bind) JavaScript jQuery 单击事件

标签 javascript jquery html checkbox label

我正在为我的表单使用标签,如下所示:

<label for="foo" id="bar">Label</label>
<input type="checkbox" id="foo" />

我想在用户取消选中该框时隐藏一个元素,否则显示它。

问题是,如果我将点击事件绑定(bind)到“foo”,它只会在用户点击复选框本身而不是标签时起作用。因此,我是否还需要在标签上绑定(bind)点击事件?或者我应该将这两个元素都包含在一个 span 中吗? 我的 HTML 已经包含 2344 个元素,所以我想在不添加任何东西的情况下完成它,如果可能的话,也不要加倍 JavaScript 代码或选择器。

最佳答案

您应该使用 change() 事件来绑定(bind),而不是与 click() 事件绑定(bind),然后无论触发此更改,结果都是相同的:

$('#foo').change(
    function(){
        // do whatever
    });

引用资料:

关于javascript - 同时在标签和复选框上绑定(bind) JavaScript jQuery 单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9196386/

相关文章:

javascript - jQuery kwicks。 Li 不展开(调整大小)

html - 一个子 div 必须溢出,另一个不能溢出

javascript - 单击时在 td 中展开一个 div

javascript - 为什么这个 for-of 循​​环中的对象解构不起作用?

php - while( var 行 = fn() );

javascript - 为同名的多个类抓取浮点值

javascript - 对齐 jQuery 列表

javascript - 如何直接获取html文件名?

javascript - :visited selector in ie 11 after page refresh 未突出显示 href 中带有 javascript 的链接

html - 为我的页面制作一个可滚动的下拉菜单