JS:撤消最后的OnClick evnet

时间:2016-06-10 09:48:02

标签: javascript jquery html

我想,这很容易,但我无法弄清楚。

我有一系列OnClick buttons(就像一棵选择树)。

有没有简单的方法,我怎么能撤消最终点击?我希望将此功能仅固定为一个按钮(在html中)。我知道,我可以通过一系列许多按钮来实现这一点,而在JS中,我可以将它们设置为OnClick,这将具有相反的功能,比我在前面的步骤中所做的那样。

我希望,我正确地描述了它。

我还创建了一个小提琴https://jsfiddle.net/sz57cyyf/5/

单击按钮A时,将显示按钮AA和AB。我想退后一步,所以我可以点击按钮BACK。我想要的是一个链接到按钮BACK的功能,它会自动执行相反的功能。当您点击"返回"

时,如果你有浏览器中的按钮ABA,BAA等,就像这样。

这适用于我网站的用户。他们会点击按钮,他们会得到他们想要的东西。所以,你点击这样的例子:A - > AB - > ABA按钮(你有2个选择)。这适合我。但我想要的是,当你意外地点击按钮AB上的(例4),但是你想点击按钮AA时,我想回去一步。所以你可以按" .back"从AAA / AAB按钮到AA / AB按钮再到A / B按钮。

2 个答案:

答案 0 :(得分:1)

这样的事可能吗?

$(".back").click(function () {
    if ($(".c").is(":visible")) {
        $(".c").css("display", "none");
        $(".b").css("display", "block");
    } else if ($(".b").is(":visible")) {
        $(".b").css("display", "none");
        $(".a").css("display", "block");
    }
});

答案 1 :(得分:1)

您可以使用jquery data()方法将按钮值存储在html data-*属性中。



$(".button").click(function(){
    var nextIndex = parseInt($(this).data("button")) + 1;
    $(this).data("button", nextIndex).text("Button-" + nextIndex); 
});

$(".back").click(function(){
    var prevIndex = parseInt($(".button").data("button")) - 1;
    if (prevIndex > 0)
        $(".button").data("button", prevIndex).text("Button-" + prevIndex); 
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="button" data-button="1">Button-1</button>
<button class="back">Back</button>
&#13;
&#13;
&#13;