3

嗨朋友以下是我的代码

脚本

$(document).ready(function(e) {
    $('.text').live('change',function(){
        var a = $(this).val();
        alert(a);
        })
});

HTML

<input name="" type="text" class="text"/>

我是 jQuery 的新手,我想在更改时获取输入的值 该值一次又一次地动态更改

请帮帮我

4

5 回答 5

11

从 jQuery 1.7 开始,不推荐使用 .live() 方法。

你应该使用on()

$(document).ready(function(e) {
    $('.text').on('change',function(){
        var a = $(this).val();
        alert(a);
        });
});
于 2013-08-23T06:02:52.623 回答
2

对于文本框,使用input代替change

$('.text').live('input',function(){
        var a = $(this).val();
        alert(a);
        })
});

检查有关输入更改事件的此SO 答案。

顺便说一句:您应该考虑迁移到最新版本的 jQuery 并替换.live().on()

于 2013-08-23T06:04:44.397 回答
1

.live() 方法自 jQuery 1.7 起已被弃用,并已在 1.9 中删除。我们建议升级代码以改用 .on() 方法。jQuery Core 1.9 升级指南

$(document).ready(function(e) {
    $('.text').on('change',function(){
        var a = $(this).val();
        alert(a);
        })
});
于 2013-08-23T06:06:52.670 回答
0

您可以使用on单击

$(document).ready(function(e) {
    $('.text').click('change',function(){
        var a = $(this).val();
        alert(a);
        })
});
于 2016-08-19T04:47:09.603 回答
0

{功能:“ ON() ”} {事件:“输入”} {适用于所有表单字段HTML5 “contenteditable” }

正如其他用户指出的那样 live() 函数早已被贬值,但是我想指出使用 on() 函数以获得与 live() 相同的效果并帮助 StackOverflow 用户更好地掌握具有误导性名称“输入”的事件jQuery 文档

不同之处在于 live() 将针对所有排序元素,而 on() / bind() 仅针对当前受影响的元素,这使其更加高效、轻巧和快速。

然而,正确的解决方案不仅仅是其他人指出的 on() 或 bind() 。仅使用 on() 事件将“冒泡”并且在您将注意力从元素上移开之前不会触发。诀窍在于使用“输入”作为速记事件,同时针对紧随其后的元素。好消息是相同的“输入”事件不仅适用于所有表单字段,还适用于 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>

于 2019-11-08T09:51:23.757 回答