javascript - 第一次单击后停止函数,以防止更多执行

标签 javascript php jquery ajax

我有这个功能

        function display() {
        $.ajax({
            url: "new.php",
            type: "POST",
            data: {
                textval: $("#hil").val(),

            },
            success: function(data) {
                $('.daily').html(data);
            }

        });
    }

它达到了它的目的,唯一的问题是,用户可以点击 <a href="#" onclick="display();"></a>尽可能多的次数,并且它会向 new.php 发送尽可能多的请求。 我想要的是将其限制为仅单击一次,并且可能直到下一页刷新或清除缓存为止。

最佳答案

简单的例子是:

<script>
var exec=true;
function display() {
    if(exec){
        alert("test");
        exec=false;
    }
}
</script>

<button onclick="javascript:display();">Click</button>

在你的情况下,它是:

var exec=true;
function display() {
    if(exec){
        $.ajax({
            url: "new.php",
            type: "POST",
            data: {
                textval: $("#hil").val(),

            },
            success: function(data) {
                $('.daily').html(data);
                exec=false;
            }

        });
    }
}

关于javascript - 第一次单击后停止函数,以防止更多执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43704593/

相关文章:

javascript - 如何使用页面上所有图像的图像 src 填充 alt 字段

javascript - 尝试加载临时 Web Worker 时出现错误 "Reflect.defineMetadata"

php - '无法与主机 smtp.gmail.com 建立连接 [无法找到套接字传输 "ssl"

php - 如何在添加行时获取表列的值

javascript - 销毁/删除 Bootstrap 轮播

JavaScript 点击事件问题

javascript - 在对象数组中的属性中查找具有最大值的所有对象,并从同一对象返回其他属性的值

php - 带有 PHP post 方法的 HTML5 表单

javascript - 我可以将多个命令附加到同一个 jQuery 选择器吗

javascript - 将数组中的用户注册信息与用户登录输入进行比较