javascript - jquery .one() 触发查询一次,但是如果 .one() 内部出现问题,我如何才能触发查询一次?

标签 javascript jquery

我有一个登录页面,即使用户多次单击它,我也想提交凭证,这就是为什么我想使用 .one() 但 .one() 有一个问题,假设用户有一些凭证问题,那么下次他修复它并尝试再次发送时,.one() 将不起作用。那么你必须采取一些措施。如何解决这个问题?

$(document).ready(function(){
$("#submit").one("click", function() {
    data = some data
    if data !==""{
        $.ajax({
            url: '/my url/',
            type: 'POST',                   
            contentType: 'application/json',
            dataType: 'json',
            data :data,
            processData: false,
            success: function(data){
                alert("done")   
            },
            error: function(jqXHR, textStatus, errorThrown){
                alert("Some Error")      
                //here i want to do something so that if user click the submit button it will fire once                       
            }
        })
    }
    else
        //data is not there
        //here i want to do something so that if user click the submit button it will fire once 

    });

最佳答案

您可以再次绑定(bind)处理程序:

$("#submit").one("click", function handler() { // give the function a name
    // keep a reference to the clicked element so that you can access it
    // inside callbacks
    var self = this; 


    // ...

    // when something went wrong, bind the handler again
    $(self).one('click', handler);
});

关于javascript - jquery .one() 触发查询一次,但是如果 .one() 内部出现问题,我如何才能触发查询一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18043766/

相关文章:

javascript - 如何在React中将温度以摄氏度显示为RGB?

javascript - 如何使用打印机 wincode c342c 从浏览器 (reactjs) 打印条形码标签

javascript - CouchDB 在 Node.js 中获取用户的所有帖子

javascript - 单击 div 从服务器加载内容 每次单击时加载附加结果

javascript - Google Drive API 使用 curl 调用创建文件而不是文件夹

javascript - IBM Filenet 如何与 Angular 应用程序集成

php - Zend Ajax无法删除

jquery - 使用 .each() 动态创建 JSON 数组

jquery - 如何在Jquery循环(节拍器)中播放声音?

javascript - $.load(content) 之后在 jQuery 中无法访问元素