oninput那些事

最近使用了一种oninput的事件。这个好像是html5新出的一种新事件。个人感觉很好用。它完美的实时监听文本框输入。我觉得是一个非常好用的事件。onkeyup和onkeydown事件都有点缺陷。
oninput事件是除IE之外的大多数浏览器支持的事件,在value改变时触发,实时的,即每增加或删除一个字符就会触发,然而通过js改变value时,却不会触发。
举个例子:

<body>
    <input id="ipt" type="text"  placeholder="这个是文本框" oninput="ab()" />
</body>
 <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
function ab(){
            if($("#ipt").val().length>8){
            alert("已经超过8了");
            }
        }
</script>

当然oninput在input或者是textarea方面用途还是比较广泛的。这值得好好学习起来。起先我也并不知道有这个事件的。也怪我学识太浅了。好好学。工作了快三个月了最大的感触就是好好学习。把你在工作中的点点滴滴积累起来。这真的很重要。大家好好加油吧。前端并不是我们所想的那样简单,我们还有很多要学的。我的一个朋友劝我我们先学好我们现在所缺的东西这是最主要的。加油吧!Aiarron

### HTML `oninput` 属性详解 #### 定义与功能 `oninput` 是一种件属性,用于监听用户对 `<input>` 或其他可编辑元素(如 `<textarea>` 和 `[contenteditable]` 元素)的实时输入操作。每当用户的输入改变时,都会触发绑定到该属性上的 JavaScript 函数或脚本[^3]。 与其他类似的件相比,`oninput` 的特点是它会在每次输入发生变化时即时响应,而是等到焦点离开后再执行动作。这使得它可以用来实现动态验证、自动补全或其他交互效果。 #### 基础语法 以下是设置 `oninput` 属性的基础方式: ```html <input type="text" oninput="yourFunctionName(this.value)"> ``` 在这个例子中,当用户修改输入框中的内容时,JavaScript 中定义好的函数 `yourFunctionName()` 将被调用,并传递当前输入框的内容作为参数。 #### 实际案例演示 下面是一个完整的实例展示如何利用 `oninput` 来创建一个简单的字符计数器应用: ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>OnInput 示例</title> <script> function updateCounter(value){ document.getElementById('charCount').innerText = value.length; } </script> </head> <body> <label for="textInput">请输入文字:</label> <input type="text" id="textInput" oninput="updateCounter(this.value)" placeholder="在这里打字..."> <p>您已经输入了 <span id="charCount">0</span> 个字符。</p> </body> </html> ``` 在此示例中,随着用户向文本框内键入数据,页面上显示已录入字符数量的部分会同步更新,体现了 `oninput` 对于捕捉连续变化状态的价值所在。 #### 关联对比分析 需要注意的是,虽然 `onchange` 同样可以检测值的变化情况,但它仅在控件失去焦点之后才生效;而 `oninput` 则是在每一次按键或者粘贴等行为发生瞬间即刻作出反应,因此更适合那些需要立刻反馈给用户的场景下使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值