试图连接一个jQuery .click()事件..但是它被解雇了(而不仅仅是接线)

Pur*_*ome 1 javascript jquery click onclick

所以我有以下jQuery:

<script type="text/javascript">

    // Init.
    $(function () {

        // Wire up the search box.
        $('#searchButton').click(
            search($('#query').val(),
                $('aaa').val(),
                $('bbb').val()
            ));
    });

</script>
Run Code Online (Sandbox Code Playgroud)

但是当我第一次点击页面时,search函数被解雇了(因为我在那里放了一个断点).

我认为我的代码(上图)只是说:连接点击事件,当有人点击该按钮时,下面的代码被称为=>搜索函数,带有以下3个参数).

有谁能告诉我我做错了什么,拜托?

Eva*_*oli 8

因为它需要一个函数引用.你正在做的是执行search()并将该结果作为引用传递.

<script type="text/javascript">

    // Init.
    $(function () {

        // Wire up the search box.
        $('#searchButton').click(function() {
                search($('#query').val(),
                    $('aaa').val(),
                    $('bbb').val()
                ));
            }
    });

</script>
Run Code Online (Sandbox Code Playgroud)


jah*_*roy 6

您应该将处理程序代码包装在匿名函数中.

否则将对search()进行评估,并将结果应用于click处理程序.

试试这个:

$(function () {
    $('#searchButton').click(function () {
        search( $('#query').val(),
                $('aaa').val(),
                $('bbb').val() 
        );
    });
});
Run Code Online (Sandbox Code Playgroud)