语法错误:在简单函数的参数列表之后缺少)

SyntaxError: missing ) after argument list on simple function

本文关键字:之后 列表 参数 错误 简单 函数 语法      更新时间:2023-09-26
$(document).ready(function(){
    $("button").click(func(){
        newfunc();
    });
});

我已经看到这是由未转义的引号引起的......但我只是想从网上复制一个教程。不知道为什么我在这么简单的代码上收到此错误。

您应该将func更改为function。在单击方法中,您必须传递回调函数。如果之前已声明一个函数,请向该函数传递对该函数的引用。否则,传递如下所示的匿名函数,并在其正文中定义单击按钮时要执行的内容。

$(document).ready(function(){
    $("button").click(function(){
        newfunc();
    });
});

顺便说一下,您可能还必须更改选择器,$("button") .如果按钮具有特定的 ID,例如 buttonId ,则使用以下命令:$("#buttonId") 。如果按钮具有特定的类,例如 js-button ,则使用以下命令:$(".js-button")

$(document).ready(function(){
    $("button").click(function(){
        newfunc();
    });
});

func应该是function,这是一个在点击时执行function()

你只是得到了简单的语法错误;如果你想使用func,你不要声明它是身体,这是案例

考虑一下

var func = function(){};
//RIGHT
$("button").click(func); //callback function
//RIGHT
$("button").click(function func(){}); //we just creating new named function, named callback
//RIGHT
$("button").click(function(){}); //anonymous callback function
//WRONG
$("button").click(func(){}); //anonymous callback function

虽然答案很简单,但这里也是演示

$(document).ready(function(){
    function newfunc(elem){
        $(elem).css('background', 'red');
    }
    $("button").click(function(){
        newfunc(this);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>click me</button>