Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery.click不';行不通_Javascript_Jquery_Click - Fatal编程技术网

Javascript jquery.click不';行不通

Javascript jquery.click不';行不通,javascript,jquery,click,Javascript,Jquery,Click,我希望我不是犯了一个愚蠢的错误,而是出于某种原因,下面的代码不起作用。唯一发生的事情是它在控制台中记录“就绪”,而不是在中记录任何内容。单击 Javascript: var Photobooth = (function (){ var api = {}; var init = function(){ form_ready(); }; var form_ready = function(){ console.log("ready"); $('#btn-signin'

我希望我不是犯了一个愚蠢的错误,而是出于某种原因,下面的代码不起作用。唯一发生的事情是它在控制台中记录“就绪”,而不是在中记录任何内容。单击

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:



解决方案:通常,我把我的JS代码放在文档末尾,在结束正文之前。。。在这种情况下,我不得不把它放在开头,却忘了把document.ready放好,所以它现在可以工作了。谢谢

您需要该文档。就绪包装:

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

您需要document.ready包装:

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

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


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

它确实适合我。尝试演示:

我假设在使用jQuery之前没有加载它

始终在内部使用jQuery

$(document).ready(function(){

});

它确实对我有用。尝试演示:

我假设在使用jQuery之前没有加载它

始终在内部使用jQuery

$(document).ready(function(){

});

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

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

刚刚在Chrome中试用过,似乎效果不错(我在控制台中“单击”了一下):您有很多不必要的代码,最好减少您的问题。返回api变量,但它是一个空对象。它适合我。您的javascript是否在文档准备好之前运行?@Juan,是的,这只是一个片段。。。还有更多的东西使用api对象这是我的观点,你删除了一些,但留下了一堆不相关的代码。只是在Chrome中尝试了一下,它似乎工作得很好(我在控制台中“点击”了):你有很多不必要的代码,最好减少你的问题。返回api变量,但它是一个空对象。它适合我。您的javascript是否在文档准备好之前运行?@Juan,是的,这只是一个片段。。。还有更多的是使用api对象,这是我的观点,你删除了一些,但留下了一堆不相关的代码。哇。。。。我不知道为什么会错过它。。。我从来没有把一个文件准备好包装,它一直工作。也许是因为它在页面的顶端实际上。。。是的,现在说得通了。谢谢哇!我不知道为什么会错过它。。。我从来没有把一个文件准备好包装,它一直工作。也许是因为它在页面的顶端实际上。。。是的,现在说得通了。谢谢