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

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

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

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


Есть текст и при первом клике на кнопку она создает textarea, куда добавляет этот текст и далее его можно редактировать. Я хочу сделать так чтобы по второму клику она сохранила все изменения и стала выполнять свою первоначальную функцию.
  • Вопрос задан
  • 67 просмотров
Решения вопроса 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('созранили и закрыли');
  }
});

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

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

Войти через центр авторизации
Похожие вопросы
Complex Cloud Solutions Москва
от 90 000 до 120 000 руб.
EducaGroup Санкт-Петербург
от 90 000 руб.
22 апр. 2019, в 00:21
5000 руб./за проект
21 апр. 2019, в 21:02
1000 руб./за проект
21 апр. 2019, в 19:41
5000 руб./за проект