Отслеживание значений для предотвращения повторного создания динамического HTML с помощью клика

0

У меня есть простая .click() jQuery .click():

$(".clicky a").click(function(e){
   e.preventDefault();
   var val = $(this).html();
   stuffCreate(val);
});

используется для управления динамической генерацией кода HTML:

function stuffCreate(stuff) {
   var firststuff ="<div class='cont'><strong>"+stuff+"</strong></div>";
   $(firststuff).appendTo("#data"+stuff+" .innertables");
}

Var val всегда является целым числом, и на странице есть куча. Я хочу сделать несколько способов отслеживания сделанных кликов и предотвращения повторного создания динамического HTML с каждым последующим щелчком - я хочу сохранить созданный HTML, er, сгенерированный, то есть неизменный, постоянный и доступный, поскольку он был сгенерирован при этом первоначальном щелчке. Я попытался использовать массив для отслеживания кликов, но не мог понять, как использовать эти значения, чтобы предотвратить повторное создание динамического HTML с каждым щелчком после первого. Я приветствую любую помощь, которую вы можете предоставить здесь.

Теги:
click

1 ответ

1
Лучший ответ

Если вы хотите запустить функцию при первом щелчке элемента, но по-прежнему отслеживаете последующие клики, вы можете иметь простую функцию счетчика, прикрепленную к слушателю:

$('a').on('click', function(e) {
    this.counter = this.counter || 0;
    this.counter++;
    if (this.counter <= 1) {
        // do something
    }
});

пример

http://jsfiddle.net/q3LVS/1/

  • 0
    Очевидно, мне не нужно обновлять вейлы на основе счетчика, но этот подход решает мою проблему наиболее элегантно. Спасибо!

Ещё вопросы

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