Как выборочно применить скрипт к элементу?

#javascript #html #css

#javascript #HTML #css

Вопрос:

У меня есть скрипт, который заставляет текстовые области расширяться, чтобы вместить текст внутри них. Я хочу, чтобы это применялось ко всем текстовым областям на моем веб-сайте, за исключением одного. Есть ли способ остановить скрипт для одного элемента.

Используемый скрипт:

 var autoExpand = function (field) {

// Reset field height
field.style.height = 'inherit';

// Get the computed styles for the element
var computed = window.getComputedStyle(field);

  // Calculate the height
  var height = parseInt(computed.getPropertyValue('border-top-width'), 10)
               parseInt(computed.getPropertyValue('padding-top'), 10)
               field.scrollHeight
               parseInt(computed.getPropertyValue('padding-bottom'), 10)
               parseInt(computed.getPropertyValue('border-bottom-width'), 
  10);

  field.style.height = height   'px';

  };

  document.addEventListener('input', function (event) {
  if (event.target.tagName.toLowerCase() !== 'textarea') return;
  autoExpand(event.target);
  }, false);
  

Текстовая область:

 <textarea id="sendie" maxlength = '100' ></textarea>
  

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

1. да, не применяйте его к тому, к которому вы не хотите его применять — возможно, измените строку 37

2. Что это за скрипт и как он нацелен на текстовые области?

3. сохраните свой список селекторов в виде массива. Отфильтруйте массив, чтобы удалить нежелательный div. Применить функцию к остальной части списка выбора.

4. @RoddyoftheFrozenPeas Он просто применяет эффекты ко всем текстовым областям.

Ответ №1:

CSS

 textarea {
  resize: none;
}
  

По идентификатору:

 #sendie {
  resize: none;
}
  

Если это не работает, внедрите это в свою функцию

   document.addEventListener('input', function (event) {
      if (event.target.tagName.toLowerCase() !== 'textarea') return;
      autoExpand(event.target);
      document.getElementById("sendie").style.resize = "none"
  }, false);
  

Предполагая, что «sendie» — это тот, с которым вы не хотите связываться.

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

1. Я отредактировал свой ответ. Я действительно думаю, что переработанный JS сработает для вас.