`

js input即时监听输入值

    博客分类:
  • JS
 
阅读更多
总结一下 :要想在输入框超过限制长度时候,不给输入。之前是用onkeyup做的。
不是即时监听,要等你松手后才能提示你已经超出输入长度,在进行截取。
如果要做成类似与到了显示输入长度 就无法输入的效果

要采用elem.onpropertychange(IE)或elem.addEventListener("input", textChange, false);

function lengthLimit(elem, showElem, max){
var elem = document.getElementById(elem);
var showElem = document.getElementById(showElem);
var max = max || 50;// 最大限度字符,汉字按两个字符计算


function getTextLength(str){// 获取字符串的长度 一个汉字为2个字符
return str.replace(/[^\x00-\xff]/g,"xx").length;
};


// 监听textarea的内容变化
if(/msie (\d+\.\d)/i.test(navigator.userAgent) == true) {// 区分IE
elem.onpropertychange = textChange;
}else{
elem.addEventListener("input", textChange, false);
}


function textChange(){// 内容变化时的处理
var text = elem.value;
var count = getTextLength(text);
if(count > max){// 文字超出截断
for(var i=0; i<text.length; i++){
if(getTextLength(text.substr(0, i)) >= max){
elem.value = text.substr(0, i);
break;
};
}
}
};
textChange();// 加载时先初始化
};

调用时lengthLimit("FName", "dsa", 49);


===========================================================
以下没试验过 留着有机会试试

input 文本框内容改变,我们可以使用onchange或者onblur来进行判断,但是onchange是在文本内容改变,然后失去焦点的时候发生,onblur是在失去焦点时候发生,不会自己去判断。

网上一位老兄采用如此方法:

<input type="text" id="testId" readonly onPropertyChange="showValue(this.value)" />

<script>
function dochg(){
document.getElementById("testId").value = "test"
}
setTimeout("dochg()",1000)

function showValue(obj){
alert("changed value is " + obj);
}
</script>

受到启发:

可以采用onPropertyChange来捕获文本改变事件,试验成功!
分享到:
评论

相关推荐

    jQuery/JS监听input输入框值变化实例

    文中示例了如何使用.on('input', function() {...})来监听input元素的值变化,并在值变化时执行相应的JavaScript函数。 此外,onpropertychange事件也在文中被提及。onpropertychange是一种特定于IE浏览器的事件,...

    js监听输入框值的即时变化onpropertychange、oninput.docx

    JavaScript 监听输入框值的即时变化 在 Web 开发中,监听输入框值的即时变化是一种常见且有用的技术,可以帮助我们实现实时的用户体验感。例如,即时显示输入框已经被输入的字节数,或者即时读取输入的值来进行搜索...

    用JS控制INPUT输入内容

    ### 使用JavaScript控制INPUT输入内容详解 #### 一、概述 在网页开发中,为了提高用户体验并确保数据的有效性,我们经常需要对用户输入的数据进行控制和验证。通过使用JavaScript(简称JS),我们可以轻松地实现这...

    angular实现input输入监听的示例

    本文将详细介绍如何在AngularJS中实现对input输入框的监听,并根据用户的输入做出相应的提示。 首先,实现input输入监听的基本思路是利用AngularJS的双向数据绑定功能以及$watch表达式。AngularJS的ng-model指令...

    js监听输入框值的即时变化onpropertychange、oninput

    要实现这些功能,JavaScript 提供了几个事件监听器,其中最常用的是 `onpropertychange` 和 `oninput`。 ### onpropertychange 事件 `onpropertychange` 是 Internet Explorer 浏览器特有的事件,当一个 HTML 元素...

    js获取 input file 图片立即显示

    "js获取input file 图片立即显示"这个话题就是关于如何利用JavaScript来实现在用户选择图片后即时预览的功能。以下是一个详尽的步骤解释和相关知识点: 1. **HTML 结构**: 首先,我们需要在HTML页面中创建一个`...

    input限制输入数值金额数值小数点符号

    3. **JavaScript事件处理**:通过监听`input`或`change`事件,我们可以用JavaScript来实时检查输入值是否符合预期的格式,并进行必要的提示或处理: ```javascript const input = document.querySelector('input...

    js正则表达式限制文本框只能输入数字,能输小数点.

    ### 正则表达式在JavaScript中的应用:限制文本框只能输入数字及小数点 在Web开发中,经常需要对用户输入的数据进行合法性验证。为了确保数据格式正确且符合预期,开发者通常会在前端使用JavaScript结合HTML来实现...

    jquery.inputform(输入类型的文件的样式)

    《jQuery InputForm:塑造输入类型文件的样式之美》 在网页设计中,用户交互界面的美观性和易用性是至关重要的。jQuery作为一个强大的JavaScript库,为开发者提供了丰富的工具和插件,以提升用户体验。其中,`...

    js限制文本框只输入正整数

    在探讨如何利用JavaScript限制文本框只输入正整数这一主题时,我们首先应当明确目标:确保用户在文本框中输入的数据仅包含正整数,即非负整数(不包括小数、负数以及任何非数字字符)。这在许多场景下至关重要,比如...

    JS输入框限制数值输入插件

    1. **事件监听**:插件首先需要监听INPUT元素的输入事件,如`oninput`或`onkeydown`,以便在用户键入时即时处理数据。 2. **正则表达式**:限制数值输入通常需要用到正则表达式,例如,检查输入是否符合整数、...

    JS实现移动端实时监听输入框变化的实例代码

    在JavaScript编程中,特别是在移动端应用开发中,监听输入框(input)的变化是非常常见的需求,例如在搜索框中实现模糊搜索或者在注册表单中验证手机号码。然而,传统的PC端事件,如focus、blur、hover、onkeyup等,...

    javascript经典特效---input文字特殊显示.rar

    1. **实时预览**:利用JavaScript事件监听,如`onkeyup`、`onkeydown`或`oninput`,可以实现在用户输入时即时更新显示内容,比如实时显示过滤后的搜索结果,或者在输入时提供自动补全建议。 2. **输入格式限制**:...

    javascript经典特效---input框的增加.rar

    在这个案例中,我们将深入理解如何利用JavaScript来增强用户在input框中的输入体验,比如实时验证、动态添加新的input字段等。 在描述中,“input框的增加.rar”进一步强调了这个压缩包内容的重点是关于input框数量...

    input输入框获取js点击文字内容.zip

    在"input输入框获取js点击文字内容.zip"这个压缩包中,我们可以预见到包含了一个简单的HTML页面(index.html),该页面可能实现了通过JavaScript来获取用户在输入框中输入的文字内容的功能。下面将详细介绍HTML5的`...

    input file图片上传即时预览

    `&lt;input&gt;`元素添加一个`change`事件监听器,当用户选择文件时触发该事件。 ```html &lt;!DOCTYPE html&gt; 图片上传即时预览 &lt;input type="file" id="imageInput" accept="image/*" onchange="previewImage(event)...

    jQuery封装自定义事件--valuechange(动态的监听input,textarea)之前值,之后值的变化

    在这个例子中,我们将创建一个名为`valuechange`的自定义事件,用于监听input和textarea元素的值在用户输入前后发生的改变。 实现这个功能的关键步骤包括: 1. **创建自定义事件**:我们需要定义一个函数,该函数...

    js页面输入查询组件

    在本主题"js页面输入查询组件"中,我们主要讨论的是如何利用JavaScript实现在网页上实时搜索的功能,即用户在输入框中输入文字时,页面能即时展示与输入相匹配的结果。 这种功能在现代Web应用中非常常见,例如搜索...

    input 禁止输入特殊字符的四种实现方式

    此方法具有即时反馈的特点,用户可以看到自己输入的字符,但是当输入特殊字符时,这些字符会立即消失。不过,此方法存在一个弊端,就是如果用户按住键盘不放进行连续输入,这些特殊字符可能不会立即消失。 以上四种...

Global site tag (gtag.js) - Google Analytics