首页 > 解决方案 > jQuery单击事件在第一次单击时不起作用

问题描述

我在我的页面上使用代码。像这样:

$('#language_id').change(function () {
    var urli = 'https://example.com/php/get_arch.php?language_id=' + language_id;
    $.ajax({
      type: "GET",
      url: urli,
      dataType: 'json',
      success: function(response){
        var options = '';
        $.each(response.archs, function() {
            options += '<option value="' + this.arch_id + '">' + this.name + '</option>';
        });
        $('#arch_id').html('<option value="0">- ' + selachitecture + ' -</option>'+options);
        $('#arch_id').attr('disabled', false);
      }
    });
});

$('#arch_id').change(function(){
var version_id = $('#version_id :selected').val();
    $('#selectBoxInfo').load('https://example.com/dl.php?fileName=' + arch_id + "&lang=" + lang);
    return(false);
});
$('body').on('click', '.buttond a', function() { 
    alert("new link clicked!");
    $("a").removeAttr("onclick");
});

我解释我的代码:选择可选时,它将创建一个按钮“下载”。此按钮由 Ajax 加载。我不想弹出这个按钮的功能。所以,我试图阻止这个按钮打开弹出窗口。问题是:第一次单击按钮时,我的 Javascript 不起作用。它仅适用于第二次单击。

我不知道这里有问题。我使用“开”来收听所有事件。

标签: javascriptjqueryajax

解决方案


用此代码替换您的代码..

    $('#selectBoxInfo')
      .load('https://example.com/dl.php?fileName=' + arch_id+"&lang="+lang
      ,function(){
        $("a").removeAttr("onclick");
      }
     );

推荐阅读