Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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 单击事件在页面加载时运行_Javascript_Jquery - Fatal编程技术网

Javascript 单击事件在页面加载时运行

Javascript 单击事件在页面加载时运行,javascript,jquery,Javascript,Jquery,我在一个外部文件中有这个jQuery脚本。我用它来更新数据库。我一直在练习它,但不能把它做好。我希望在单击我的按钮(标有ID“add”)时运行.ajax调用,但是每次刷新页面时都会更新数据库,而不是单击按钮时!有人能解释一下原因吗?提前谢谢 $('#add').click( $.ajax({ url: 'test.php', success: function() { alert("added"); } })

我在一个外部文件中有这个jQuery脚本。我用它来更新数据库。我一直在练习它,但不能把它做好。我希望在单击我的按钮(标有ID“add”)时运行.ajax调用,但是每次刷新页面时都会更新数据库,而不是单击按钮时!有人能解释一下原因吗?提前谢谢

$('#add').click(
    $.ajax({
        url: 'test.php',
        success: function() {
            alert("added");
        }
    })
);
更新: 多亏了@flo,我才能够完美地完成这项工作。以下是最终产品:

$(document).on('click','#add',function() {
    $.ajax({
        url: 'test.php',
        success: function() {
        alert("added");
        }
    })
});

我不是100%确定,但我想你是在用一些东西触发点击,而不是绑定这个事件

我的意思是:

$('#add').click($.ajax...)
不应与以下内容相同:

$('#add').click(function (clickEvent) {
    // Update here !
    $.ajax...
});
但无论如何,您应该更喜欢:

$('#add').on('click', function (clickEvent) {
    // Update here !
    $.ajax...
});
或者更好:

$(document).on('click', '#add', function (clickEvent) {
    // Update here !
    $.ajax...
});

我懂了。我想我没有充分阅读文档。这很有效。谢谢无论如何,我不认识任何一个熟记文档的人;)请注意,
$('#add')。click(fn)==$('#add')。on('click',fn)
(假设jQuery 1.7+没有排除带有grunt的速记表单),这是相同的行为,但我认为它需要berger使用.on(),以使代码更易于理解。