我想有一些功能,如果我写的话

<textarea maxlength="50"></textarea>
<textarea maxlength="150"></textarea>
<textarea maxlength="250"></textarea>

它会自动将maxlength应用于文本区域.如果可能,请不要在jQuery中提供解决方案.

注意:如果我这样做,就可以做到这一点:

<textarea onkeypress="return imposeMaxLength(event, this, 110);" rows="4" cols="50">

function imposeMaxLength(Event, Object, MaxLen)
{
    return (Object.value.length <= MaxLen)||(Event.keyCode == 8 ||Event.keyCode==46||(Event.keyCode>=35&&Event.keyCode<=40))
}

抄袭自100

但关键是,我不想每次声明textArea时都写onKeyPress和onKeyUp.

推荐答案

window.onload = function() { 
  var txts = document.getElementsByTagName('TEXTAREA'); 

  for(var i = 0, l = txts.length; i < l; i++) {
    if(/^[0-9]+$/.test(txts[i].getAttribute("maxlength"))) { 
      var func = function() { 
        var len = parseInt(this.getAttribute("maxlength"), 10); 

        if(this.value.length > len) { 
          alert('Maximum length exceeded: ' + len); 
          this.value = this.value.substr(0, len); 
          return false; 
        } 
      }

      txts[i].onkeyup = func;
      txts[i].onblur = func;
    } 
  };

}

Html相关问答推荐

简化指标与Delta保持一致

纯CSS语音气泡与半透明背景和边框

如何在angular 17.2中使用routerLink解决此错误

在iOS中调整HTML邮箱内容的大小

如何在伪元素背景中定位多个CSS径向梯度

在Chrome中使用手写笔时,滚动条方向反转

为什么前端框架可以创建自定义属性,而我却被期望在挖掘之前添加数据

Django HTML标记-Merge for Loop with Conditional语句

希望平稳过渡到悬停状态

如何在 flex 项目中忽略子元素的宽度

如何使容器的大小适合其 position:absolute; 子元素的大小

如何并排放置部分?

那边界从何而来?

如何在滚动行中显示一张图片和下一张图片的一半?

如何在没有容器的情况下沿基线将 div 中的元素居中?

我无法设置使用 Tailwind CSS 创建的仪表板的网格 struct

涉及短代码时如何在页面上定位元素?

变换元素以适应高度(Angular,SCSS)

CSS 变量不适用于自定义属性回退值

SVG 适用于 Safari,不适用于 Chrome