简化 jQuery 以检测输入值的变化
Simplify jQuery for detecting change of an input's value
我正在跟踪输入文本区域的字符数<140。我目前只在"keyup"上捕获字符,但也想跟踪用户是否复制/粘贴到文本区域。有什么建议吗?
$(function(){
var limitDiv = $("#limit");
var limit = limitDiv.data("limit");
var button = $("input");
$("textarea").on("keyup", function(){
var total = this.value.length;
var diff = limit- total;
var condition = diff < 0 || total === 0;
limitDiv.text(diff).toggleClass("red", condition);
button.prop("disabled", condition);
}).trigger("keyup");
})
jQuery中有一个paste
事件,尽管它不是经常使用。截至jQuery 2.1.0.
,它似乎仍然有效
$("#input").on("paste", function(e){
//code goes here
});
http://jsfiddle.net/gty70qc9/2/
只需添加一个粘贴事件:
$(function(){
var limitDiv = $("#limit");
var limit = limitDiv.data("limit");
var button = $("input");
$("textarea").on("keyup paste", function(){
var total = this.value.length;
var diff = limit- total;
var condition = diff < 0 || total === 0;
limitDiv.text(diff).toggleClass("red", condition);
button.prop("disabled", condition);
button.value(total);
});
})
textarea {
width: 100%;
height: 30px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea></textarea>
<input type="button" value="Submit">
<div id="limit" data-limit="15"></div>
相关文章:
- 如何将(a*b)两个输入文本值相乘,并在javascript中随文本变化动态显示
- 如何在呈现页面后使用 Java 脚本检测 dom 元素值的值是否有任何变化(例如,任何输入或复选框值更改)
- ng变化不会'除非我输入了有效的电子邮件地址,否则我不会因为输入电子邮件而被解雇
- jquery ui:检测输入中的首次时间变化
- 输入值偶尔变化
- 基于自身输入变化的角度验证输入
- 简化 jQuery 以检测输入值的变化
- HTML5 范围输入值在引导弹出窗口中没有变化
- 根据输入数量(数量)变化计算价格
- 流星“变化”值在释放鼠标时出现,而不是在拖动输入滑块时出现
- Javascript 不会检查文本输入值是否随组合网格而变化
- 两个按钮,可随背景位置变化而切换,并在输入中显示结果
- 纯 JavaScript 侦听输入值的变化
- AngularJS,如何使两个输入字段'每当它们动态变化时,s的和总是等于第三个输入
- 如何让经典的ASP表单识别输入中的变化
- 倾听单个输入的变化
- Rails3/随着输入的变化而动态地重新计算字段
- ng变化不会't在数字输入类型上触发
- 立即检测输入[类型=“文本”]的变化
- Jquery:计算实时表单输入,它也会随着复选框的变化而变化