html – 点击复选框并调用其’.click()’函数有什么区别?

前端之家收集整理的这篇文章主要介绍了html – 点击复选框并调用其’.click()’函数有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑 the following code

HTML:

<input type='checkBox' />
<div>Click here</div>

JS:

$(function() {
    $('input').click(function() {
        document.write($(this).is(':checked') ? "checked" : "unckecked");
    });
    $('div').click(function() {
        $('input').click();
    });
});

当单击复选框时,将检查输出,但如果单击“单击此处”,输出将不会被打开.这是为什么?

解决方法

因为点击事件不同于更改事件,哪个元素更改.当< div>做一个.click()触发了还没有改变复选框状态的点击事件,所以当它检查它时,它处于上一个状态.

当您直接点击< input>时,您已经更改了状态,即使更改事件按顺序触发第二,主要的点是检查状态已更改的复选框,在点击处理程序检查之前,因此状态是当前状态.

如果您想要准确的状态信息寻找并触发更改事件,则如下所示:

$(function() {
    $('input').change(function() {
        $("span").append("<br />" + (this.checked ? "Checked" : "Uncecked"));
    });
    $('div').click(function() {
        $('input').click().change();
    });
});

You can give it a try here,关于机会这不是一个行为问题,你想要一个外部可点击区域this is how I’d do it(通过< label>包装输入).

原文链接:https://www.f2er.com/html/224304.html

猜你在找的HTML相关文章