Onclick 仅在第二次单击后才起作用

And*_*lin 5 html javascript jquery

我有一个 HTML 列表,看起来像

<a onclick="open_file()" id="3.txt">3.txt</a>
Run Code Online (Sandbox Code Playgroud)

我的open_file()功能正在寻找这个

function open_file() {
    $("a").click(function (event) {
        var file_name = event.target.id;
        $("#f_name").val(file_name);
        $.ajax({
            url: "docs/" + file_name,
            dataType: "text",
            success: function (data) {
                $("#text_form").val(data);
                $('#text_form').removeAttr('readonly');
                $('#delete_button').removeAttr('disabled');
                $('#save_button').removeAttr('disabled');
            }
        })
    });
}
Run Code Online (Sandbox Code Playgroud)

问题是函数最终将数据加载到所有字段(text_formf_name)中,只有在两次点击此类链接后。即使我首先单击一个文件,然后单击另一个文件并加载它,它也能工作。有没有什么办法解决这一问题?

Ste*_*eve 4

您当前正在做的是将 onclick 事件添加到调用一个函数的链接,该函数通过 jQuery 添加另一个 onclick 事件

删除onclick属性和open_file()函数包装器,以便 jQuery 按您的预期添加事件。