0

我希望这是足够的代码来识别问题 - 我一直在努力解决这个问题。它是来自 Chrome 扩展的弹出部分的 Javascript。

$('#save').click(function() {
    var baseURL = 'http://example.com/endpoint?';
    baseURL += 'a=' + encodeURIComponent($('#a').val());
    baseURL += '&b=' + encodeURIComponent($('#b').val());
    baseURL += '&c=' + encodeURIComponent($('#c').val());
    baseURL += '&d=' + encodeURIComponent($('#d').val());
    if ($('input#private').is(':checked')) {
        baseURL += '&private=true';
    }
    $('#form').css('display', 'none');
    $('#loader').fadeIn(500, function() {
        $('#popup-load').load(baseURL, function() {
            window.close();
        });
    });
});

我已经检查过了,按钮 ( #save) 没有被点击两次(添加了alert调试代码),可能是服务器端有错误吗?

4

1 回答 1

0

我有一个类似的问题。我通过创建一个全局标志来解决它,并在第一次运行时使其无效。每次调用都会检查这一点。肮脏,但完成了工作。

<script type="text/javascript">
    var firstRun = true;

    $('#element').load(function() {
        if (firstRun) {
            firstRun = false;
            // Rest of your code
        }
    }
</script>
于 2012-12-31T11:50:36.773 回答