我编写了一个脚本,在输入区域内单击时显示提交按钮。在输入外部单击时,应隐藏按钮。有几个区域和按钮,因此我为每个按钮和区域分配了一个唯一的ID。
问题是:当我点击该区域时,按钮显示。但在外面点击时,没有任何反应。如果我只有一个按钮和区域,该脚本可以工作,但在分配ID时,它会停止工作......
$(".textarea").click(function(e) {
var cid = $(this).attr('rel');
$("#submit" + cid).show();
e.stopPropagation();
});
$(document).click(function() {
$("#submit" + cid).hide();
});
答案 0 :(得分:4)
变量cid
在匿名文本区域单击处理程序中声明。因此,当单击调用另一个函数时,它没有值。
将隐藏功能更改为独立于cid
的内容,如此
$(document).click(function() {
$("button[id*=submit]").hide();
});
id*=submit
部分将查找submit
中id
的所有按钮并隐藏它们。这将避免跟踪cid
的需要。如果您不想隐藏ID中包含submit
的其他按钮,则需要根据类选择或更改ID格式。
答案 1 :(得分:1)
$(".textarea").click(function(e) {
var cid = $(this).attr('rel');
$("#submit" + cid).show();
e.stopPropagation();
});
$(document).click(function() {
//add logic to hide all submit buttons by assigning common class to all
});