jQuery - 显示和隐藏按钮

时间:2013-02-25 13:04:07

标签: jquery hide show

我编写了一个脚本,在输入区域内单击时显示提交按钮。在输入外部单击时,应隐藏按钮。有几个区域和按钮,因此我为每个按钮和区域分配了一个唯一的ID。

问题是:当我点击该区域时,按钮显示。但在外面点击时,没有任何反应。如果我只有一个按钮和区域,该脚本可以工作,但在分配ID时,它会停止工作......

$(".textarea").click(function(e) {
    var cid = $(this).attr('rel');

    $("#submit" + cid).show();
    e.stopPropagation();
});

$(document).click(function() {
    $("#submit" + cid).hide();
});

2 个答案:

答案 0 :(得分:4)

变量cid在匿名文本区域单击处理程序中声明。因此,当单击调用另一个函数时,它没有值。

将隐藏功能更改为独立于cid的内容,如此

$(document).click(function() {
    $("button[id*=submit]").hide();
});

id*=submit部分将查找submitid的所有按钮并隐藏它们。这将避免跟踪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
});