如何在.change()上调用函数?

WoJ*_*WoJ -4 javascript jquery

简介:我想在复选框的状态更改时调用外部函数.

下面的代码,其包括功能时的变化来调用作品(代码可在的jsfiddle,注释部分)

HTML

<input type="checkbox" id="cb">
Run Code Online (Sandbox Code Playgroud)

JS

$("#cb").change(function () {
        if ($("#cb").prop('checked'))
        {
            alert('checked');
        } else {
            alert('unchecked')
        }
    });
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,alert在选中或取消选中复选框时会引发一个.


我现在想要方法之外移动function部分.change():

$("#cb").change(alertme());

function alertme () {
        if ($("#cb").prop('checked'))
        {
            alert('checked');
        } else {
            alert('unchecked')
        }
    }
Run Code Online (Sandbox Code Playgroud)

这不再起作用(状态变化没有警报).为什么会这样?

Cur*_*urt 6

你只需要函数定义,不要执行它:

$("#cb").change(alertme);
Run Code Online (Sandbox Code Playgroud)