首页 > 解决方案 > 如何有选择地将脚本应用于元素?

问题描述

我有一个脚本,可以使 textareas 扩展以适应其中的文本。我希望将其应用于我网站上的所有文本区域,除了一个。无论如何要停止一个元素的脚本。

正在使用的脚本:

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>

标签: javascripthtmlcss

解决方案


CSS

textarea {
  resize: none;
}

按 ID:

#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”是你不想惹的一个。


推荐阅读