jquery .click不起作用

时间:2011-06-29 20:14:46

标签: javascript jquery click

我希望我不只是犯了一个愚蠢的错误,但由于某种原因,以下代码不起作用。唯一发生的事情是它在控制台中记录“就绪”,但在.click

中没有任何记录

使用Javascript:

var Photobooth = (function (){
var api = {};

var init = function(){
    form_ready();

};


var form_ready = function(){
    console.log("ready");
    $('#btn-signin').click(function(e){


        e.preventDefault();
        console.log('click');

        $.ajax({
                type: 'POST',
                url: "entertainment/photobooth/signin/action/",
                data:$(this).serialize(),
              success: function(){
                $(this).addClass("done");
              }
            });

    });
};



init();
return api;
})();

HTML:

<a id="btn-signin" href="##">SIGN IN </a>

解决方案:通常情况下,我将JS代码放在文档的末尾,然后是关闭的主体...在这种情况下,我必须把它放在开头并忘记放置文档。已经完成了现在。感谢

4 个答案:

答案 0 :(得分:4)

您需要document.ready wrapper:

var Photobooth = $(function (){...
  ....
  init();
  return api;
});

答案 1 :(得分:0)

http://jsfiddle.net/NiceGuy4263/LchcF/2/

在我的示例中,您将看到我将代码包装在jQuery ready函数中。

答案 2 :(得分:0)

它对我有用。试试演示here

我假设您的jQuery在使用之前未加载。

始终在

中使用jQuery
$(document).ready(function(){

});

答案 3 :(得分:0)

我确定您在创建<a>之前调用了您的代码。使用jQuery的ready或将代码移到页面底部。