SyntaxError:missing)在简单函数的参数列表之后

时间:2015-11-14 09:37:06

标签: javascript jquery

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

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

3 个答案:

答案 0 :(得分:1)

您应该将func更改为function。在click方法中,您必须传递回调函数。如果您之前声明了一个函数,那么传递一个对该函数的引用。 Otherwiser传递一个像下面这样的匿名函数,并在其内部定义,单击按钮时要执行的内容。

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

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

答案 1 :(得分:0)

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

func应为function,点击后执行function()

答案 2 :(得分:0)

你只是语法错误;如果您使用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>