.on更改vs .on click

时间:2014-05-13 01:10:20

标签: javascript jquery

今天,如果有人点击了checbox,我正在编写运行代码的代码。

我写了这样的代码:

$(".checkbox").on( "click", function() {
    //code
});

我也可以这样编写代码:

$(".checkbox").on( "change", function() {
    //code
});

两者都达到了我希望实现的目标,但是我应该使用另一个吗?

2 个答案:

答案 0 :(得分:8)

您应该使用change,因为可以通过键盘更改复选框(制表符到元素,按空格键)。此外,它可以从其他一些Javascript代码(将来)更改,或通过单击标签,如果该标签已附加'到复选框。

答案 1 :(得分:1)

每当用户更改其值时,表单元素都会引发onchange个事件。与其他答案一样,这可能是由于鼠标点击或按键。

任何占用屏幕空间的元素都会在用户点击它时引发onclick事件。您提供的回调被赋予一个参数,其中包含光标的X和Y坐标以及其他一些内容。

当你点击一个复选框时会改变它的值,所以会引发onclickonchange个事件。

您应该使用与您想要的效果最匹配的事件。