jQuery SyntaxError:函数语句需要一个名称

时间:2013-04-29 09:47:22

标签: jquery

jQuery的新手,我想创建一个外部js文件,当点击一个按钮时,它会显示一条警告信息。

这就是我的尝试:

(function($){
    events: function(){
        $('#myModal').bind('click', function(e){
            alert("test");
        });
    }
})(jQuery,window,document);

我收到错误:

  

SyntaxError:函数语句需要名称

我做错了什么,这是正确的方法吗?

3 个答案:

答案 0 :(得分:3)

我不完全确定你的目标是什么,但你得到的是带有标识符的带标签的函数声明(因此语法错误)。

如果您需要做的就是绑定一个事件处理程序,为什么还需要该函数呢?这是你的目标吗?

(function($){
    $('#myModal').bind('click', function(e){
        alert("test");
    });
})(jQuery,window,document);

或者,您可能希望events成为对象的键:

(function($){
    var someObj = {
        events: function () {
            $('#myModal').bind('click', function(e){
                alert("test");
            });
        }
    };
})(jQuery,window,document);

但是如果不知道你真正希望实现什么,就很难说出来。

答案 1 :(得分:2)

您可以在对象中设置events个键:

(function($){
    var o = {
        events: function(){
            $('#myModal').bind('click', function(e){
                alert("test");
            });
        }
    };
})(jQuery,window,document);

或命名函数:

(function($){
    function events() {
        $('#myModal').bind('click', function(e){
            alert("test");
        });
    }
})(jQuery,window,document);

完全摆脱function的东西:

(function($){
    $('#myModal').bind('click', function(e){
        alert("test");
    });
})(jQuery,window,document);

不知道events:的用途,很难说。

答案 2 :(得分:1)

您可以按如下方式绑定事件

  (function($){
    $('#myModal').bind('click', function(e){
        alert("test");
    });
})(jQuery,window,document);

or

$('#myModal').click( function(e){
        alert("test");
    });