单击仅在第二次单击后有效
Onclick works only after second click
我有一个HTML列表,看起来像
<a onclick="open_file()" id="3.txt">3.txt</a>
我的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');
}
})
});
}
问题是,只有在两次点击这样的链接后,函数才能最终将数据加载到所有字段(text_form
和f_name
)中。即使我先点击一个文件,然后点击另一个文件并加载,它也能工作。有什么办法解决这个问题吗?
您目前正在做的是将一个onclick事件添加到一个链接中,该链接调用一个函数,该函数通过jQuery添加另一个onclik事件。
删除onclick
属性和open_file()
函数包装器,以便jQuery根据需要添加事件。
您不需要onclick="open_file()"
this:
<div id='linkstofiles'>
<a id="3.txt">3.txt</a>
//other links go here
</div>
$("#linkstofiles 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');
}
})
});
当html中有onclick
时,您不需要在函数中再次绑定点击事件。
同样对于$ is not defined
,您需要将jquery库放在头部。
相关文章:
- 单击仅在第二次单击后有效
- 单击图像时不会出现圆圈,但对其他人有效
- 文档就绪按钮.单击仅在控制台中有效
- jQuery onClick 事件有效,除非单击文本
- 显示隐藏的容器元素 - 悬停仅在我单击容器后有效
- 按钮单击Javascript函数失败,但函数有效
- 如果第一次单击有效,则第二次单击元素
- 使可折叠侧边栏记住单击的选项的有效方法
- jQuery 单击仅在双击时才有效
- 奇怪的是,在第二次单击切换隐藏/显示按钮而不是第一次单击后,有两行有效
- 当我单击删除按钮时查询未运行,即使 .success 说它有效
- 我的幻灯片网站仅在单击按钮两次以运行 JS 时才有效
- ng有效,当值通过<按钮>ng单击
- 在文本框中键入内容后,单击按钮将不再有效
- 为什么悬停和单击不总是有效
- 启用右键单击的更有效方法
- 复选框单击有效,取消选中复选框不工作Javascript
- 状态栏中的屏蔽链接仅在第一次单击之前有效
- 不能使用CasperJS调度单击有效的选择器
- on('提交'在单击<按钮>时有效,但在输入字段上按enter键时无效