kl1mmm
@kl1mmm
Хто я?

Как отключить прослушивание события click при значении true?

Подскажите пожалуйста, необходимо избавиться от двойного прокликивания элемента. Для этого при первом клике отображается необходимый элемент и переменной frozen присваивается значение истины, как сделать так, чтобы при данном значении переменной v-on:click более не срабатывало?

HTML:
<div class="default" v-on:click="Step(this.activePlayer)">
    <img ref="cross" class="cross" width="185" height="197" src="@/components/UI/pics/cross.svg">
    <img ref="zero" class="zero" width="185" height="197" src="@/components/UI/pics/zero.svg">
  </div>

Script:
Step(player) {
      if (player === 'O') {
        this.$refs.cross.style.display = 'block';
      } else {
        this.$refs.zero.style.display = 'block';
      }
      this.frozen = true;
      this.$emit('changePlayer');
    }
  • Вопрос задан
  • 154 просмотра
Решения вопроса 3
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Заменить див на кнопку (потому что по сути – это кнопка) и дисейблить ее по клику.
Ответ написан
@historydev Куратор тега JavaScript
Острая аллергия на анимешников
kd241286zjv
@kd241286zjv
Vue.js dev
либо как упомянул Kentavr16 в методе
if (frozen) return

либо если этот вариант не нравится то
<div class="default" @click="(!frozen && Step(this.activePlayer))">
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы