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

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

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

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


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

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

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

Войти через TM ID
Похожие вопросы
CS Money Санкт-Петербург
от 120 000 до 150 000 руб.
Digital Sharks Казань
от 60 000 до 65 000 руб.
23 янв. 2019, в 09:57
500 руб./в час
23 янв. 2019, в 09:01
2500 руб./за проект
23 янв. 2019, в 08:56
1500 руб./в час