archi_kud
@archi_kud
Frontend Developer

Как изменить поведение одного и того же элемента?

Я пишу мини редактор текста и у меня возник вопрос.

Есть кнопка:
<button>Редактировать</button>

btn.addEventListener('click', function() {
  //выполняются какие-то действия
  this.innerText = 'Готово';
});


Есть текст и при первом клике на кнопку она создает textarea, куда добавляет этот текст и далее его можно редактировать. Я хочу сделать так чтобы по второму клику она сохранила все изменения и стала выполнять свою первоначальную функцию.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
dimastik1986
@dimastik1986
учусь
логика очень простая используем .toggle
$.fn.extend({
    toggleText: function(a, b){
        return this.text(this.text() == b ? a : b);
    }
});

$(".example").on('click', function(){
	$(this).toggleText('создать textarea', 'сохранить результат').toggleClass('active');
  
  
  if($(this).hasClass('active')) {
  	alert('открыли textarea для редактирования');
  }else{
  	alert('созранили и закрыли');
  }
});

как-то так...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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