Как я могу изменить значение кнопки только на короткий промежуток времени

#jquery

Вопрос:

У меня есть кнопка со значением = «копировать». При нажатии на кнопку она использует следующую функцию для создания привязки. URL-адрес создается, а также копируется в буфер обмена. Я могу изменить значение кнопки с «Копировать» на «Скопировано!». Чтобы упростить вещи, я хочу, чтобы значение «Скопировано!» менялось только в течение короткого периода времени. Можно ли создать функцию setTimeout или fadeOut, которая отображает «Скопировано!» только, скажем, в течение 3 секунд, а затем возвращается к исходному значению?

 $( document ).ready(function() {
 $( ".btn" ).click(function() {
  $(this).val('Copied!');
  var url = 'https://.....';
  var thisId = $(this).attr('id');
  var newID = url  '#'  thisId;
  var  newIdCopied = $('<input>').val(newID).appendTo('body').select()
  document.execCommand('copy')
}); 
 

Комментарии:

1. Используйте setTimeout с обратным вызовом функции, который возвращает ее обратно.

Ответ №1:

Благодаря ответу выше мне удалось заставить его работать.

 $( document ).ready(function() {
 $( ".btn" ).click(function() {
  $(this).val('Copied!');
  var url = 'https://.....';
  var thisId = $(this).attr('id');
  var newID = url  '#'  thisId;
  var  newIdCopied = $('<input>').val(newID).appendTo('body').select()
  document.execCommand('copy')
  var $this = $(this);
  $this.val('Copied!');
  setTimeout(function() { 
  $this.val('Copy');
    }, 2000);
});