как отследить последние три кликаемых идентификатора в jquery?

0

Я новичок в jQuery, я хочу получить список последних последних div ID's.

моя потребность в том, когда пользователь нажимает кнопку отмены, тогда я хочу переместить пользователя в последний 2-й щелчок div.

  • 1
    Вы должны знать, как написать хороший или хотя бы удовлетворительный ТАК вопрос. Быть новичком в чем-то - не повод, чтобы хотя бы попытаться решить проблему. Покажите, что вы пытались, и объясните, где именно ваша попытка не удалась
Теги:

3 ответа

3

Попробуй это:

var clicks = [];
$("div[id^=test]").on('click',function() {
    clicks.push(this.id);
});
$("button").on('click',function() {
    console.log(clicks.pop())
});

Это использует массив для хранения всех кликов, а также удаление и удаление последнего нажатия кнопки.

Чтобы прочитать о .push() и .pop().

Демо здесь

  • 1
    +1 за поппин :)
2

Создайте массив "history", который выталкивает идентификатор каждый раз, когда нажимается div:

var history = [];
$('div').click(function(){
    history.unshift(this.id);
})

И при отмене нажмите:

$('button.cancel').click(function(){
    history.shift();
})
  • 0
    как распечатать этот идентификатор?
  • 0
    history[0] всегда получит последний добавленный идентификатор. Использование history.shift() удалит первую ячейку истории.
0

Чтобы сохранить предыдущие клики, вы захотите сохранить клики в массиве следующим образом:

clicks = [];
$(function () {
    $("div").on("click", function (e) {
        // The following is what you wanted, but the uncommented code is better (as it saves future DOM lookups)
        // clicks.shift($(this).attr("id"));
        clicks.shift(this);
        // If you want to use jQuery on the objects, you'll need to call jQuery on them ex: $(this)

        // If you do want to remove previous elements, uncomment the following code
        // if(clicks.length > 3){
        //  clicks.pop();
        // }
    });
});

Каждый раз, когда происходит щелчок, объект, который был нажат, будет сохранен в массиве (clicks.push(this)). Позже вы можете ссылаться на массив. clicks[0] будут иметь самый последний щелчок, clicks[1] самые последние и т.д.

Итак, чтобы сделать то, что вы описали, вы будете выполнять функцию по следующим направлениям:

$(function () {
    $("#cancel").on("click", function (e) {
        $(clicks[1]).yourMethods();
    });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню