你好朋友关注的是我的代码
SCRIPT
$(document).ready(function(e) {
$('.text').live('change',function(){
var a = $(this).val();
alert(a);
})
});
HTML
<input name="" type="text" class="text"/>
我是jQuery的新手我想要获取输入值的变化 该值一次又一次地动态变化
请帮帮我们
答案 0 :(得分:10)
从jQuery 1.7开始,不推荐使用.live()方法。
您应该使用on()
$(document).ready(function(e) {
$('.text').on('change',function(){
var a = $(this).val();
alert(a);
});
});
答案 1 :(得分:2)
对于文本框,请使用input
代替change
$('.text').live('input',function(){
var a = $(this).val();
alert(a);
})
});
检查此SO answer有关输入更改事件的信息。
BTW:您应该考虑迁移到最新版本的jQuery并将
.live()
替换为.on()
答案 2 :(得分:1)
.live()方法自jQuery 1.7以来已被弃用,并已在1.9 中删除。我们建议升级代码以改为使用.on()方法。 jQuery Core 1.9 Upgrade Guide
$(document).ready(function(e) {
$('.text').on('change',function(){
var a = $(this).val();
alert(a);
})
});
答案 3 :(得分:0)
您可以使用 或点击
$(document).ready(function(e) {
$('.text').click('change',function(){
var a = $(this).val();
alert(a);
})
});
答案 4 :(得分:0)
{功能:“ ON() ”}} {事件:“ 输入 ”}} { 所有表单字段 和 HTML5 “内容可编辑” }
正如其他用户指出的,live()函数早已过时,但是我想指出使用on()函数获得与live()相同的效果的真正方法,并帮助StackOverflow用户获得更好的效果误导性名称“ 输入 ” jQuery documentation
区别在于live()将针对sort的所有元素,而on()/ bind()仅针对当前受影响的元素,这使其更加高效,轻便和快捷。
正确的解决方案不是 只是 on()或bind(),正如其他人指出的那样。 仅使用on()事件将“冒泡”,直到将焦点移到元素上才会触发。诀窍是使用“ 输入 ”作为速记事件,同时将紧随其后的元素作为目标。 好消息是,相同的“ input ”事件不仅适用于所有表单字段,而且适用于html“ contenteditable”内容;)
完整示例在下面的代码段中。
jQuery(document).ready(function(e) {
$('body').on('input','.text',function(){
var a = $(this).val();
alert(a);
});
});
.text{
display:block;
width:50%;
height:25px;
margin:0;
border:1px soid silver;
background:silver;
line-height:25px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input name="" type="text" class="text" placeholder="Type e.g. 123"/>
<hr>
<select name="select" class="text">
<option>1</option>
<option>2</option>
</select>
<hr>
<textarea class="text" placeholder="Type e.g. 123"></textarea>
<hr>
<div contenteditable="true" class="text">Type e.g. 123</div>