Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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_Html - Fatal编程技术网

Javascript jQuery.click()仅在加载时触发

Javascript jQuery.click()仅在加载时触发,javascript,jquery,html,Javascript,Jquery,Html,我已经在这里搜索了很多地方,但我还没有找到我的情况,所以我来了 我试图避免使用html内联onclick,因此在这样做时,我使用了jquery click()如下 当我使用这个函数时,game()函数会自动运行,并且只在加载时运行 如果我使用内联onclick,它只在我单击时起作用,并且每次单击时都起作用。为什么会这样 编辑。。我发誓我试过了。。哦,好吧,它成功了 您正在通过添加括号立即执行game()。如果您想在单击时对游戏进行评估,则需要 $(document).ready(function

我已经在这里搜索了很多地方,但我还没有找到我的情况,所以我来了

我试图避免使用html内联onclick,因此在这样做时,我使用了jquery click()如下

当我使用这个函数时,game()函数会自动运行,并且只在加载时运行

如果我使用内联onclick,它只在我单击时起作用,并且每次单击时都起作用。为什么会这样


编辑。。我发誓我试过了。。哦,好吧,它成功了

您正在通过添加括号立即执行
game()
。如果您想在单击时对
游戏
进行评估,则需要

$(document).ready(function(){
    $("#start").click(game);
});

您正在调用
game()
函数并将其结果传递给
。单击()。因为它的结果(大概)不是一个函数,所以实际上根本没有设置单击处理程序。您需要传递对函数的引用,因此请删除括号:

$("#start").click(game);

您需要将其更改为:

$("#start").click(game);

也许你需要这样定义游戏:

var game = function(e,...)

$("#start").click(game);
请记住,第一个参数是事件对象,它是从click函数传递的


注意。

您可以在html元素中使用jquery函数

<canvas id="game" onclick="jqueryFunction()"></canvas>

在jqueryFunction()中,生成if-else语句 所以,如果游戏正在运行:开火


否则,如果游戏未运行:加载游戏

最好使用.on&一个匿名函数,因为它可以消除这些混淆

$(document).ready(function() {
        $('#start').on('click', function () {
            game();
        });
    }
);
你所做的与

$(document).ready(function() {
        $('#start').on('click', function () {
            game();
        }());
    }
);

明天我会尝试接受这个答案。虽然现在我还不能这么做。谢谢我试图避免这种情况,尽管据我所知,我并没有什么好的理由来避免这种情况,但我只是尝试了不同的事情。
$(document).ready(function() {
        $('#start').on('click', function () {
            game();
        }());
    }
);