第一次执行后,Javascript单击脚本会多次运行

时间:2016-08-12 04:37:46

标签: javascript php jquery ajax

我遇到了一个奇怪的问题。 我有一个单击链接时执行的功能。该函数通过ajax发出警报和数据库更新。 我刚刚注意到,如果我在第一次点击链接后,警报会多次出现。当我点击它2&n;时间时,它被执行2次,当我点击3'时间它被执行4次所以。 这是我的代码。

$("a.action").on('click', function(e){

                if(confirm('Are you sure you want to set Action to 1?')){



                    var $index = $(this).closest('tr').index();
                    var ids = <?php echo json_encode($ids); ?>; 

                    table.row($(this).closest('tr')).remove().draw();
                    console.log("Row deleted");


                    //Set $action = 1;
                    var xmlhttp = new XMLHttpRequest();
                    xmlhttp.onreadystatechange = function() {
                        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
                        {
                            console.log("Action set to 1");
                        }
                    };
                    xmlhttp.open("GET", "db_update.php?id="+ids[$index], true);
                    xmlhttp.send();

                }
                return true;

            });

1 个答案:

答案 0 :(得分:0)

尝试使用     event.preventDefault();

https://api.jquery.com/event.preventdefault/