首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Jquery :当用户清除文本框时如何触发事件

Jquery :当用户清除文本框时如何触发事件
EN

Stack Overflow用户
提问于 2010-12-10 05:45:40
回答 4查看 56.4K关注 0票数 22

我有一个函数,目前正在处理.keypress事件,当用户在文本框中正确的东西,它做了一些代码,但我希望相同的事件也被触发时,用户清除文本框.change没有帮助,因为它触发后,用户改变焦点到其他东西

谢谢

EN

回答 4

Stack Overflow用户

发布于 2013-01-02 11:14:15

Jonathon Bolster的解决方案并不能涵盖所有情况。我对其进行了调整,以涵盖通过剪切和粘贴进行的修改:

代码语言:javascript
复制
$("#inputname").on('change keyup copy paste cut', function() {
    //!this.value ...
});

请参阅http://jsfiddle.net/gonfidentschal/XxLq2/

不幸的是,不可能捕捉到使用javascript设置字段的值的情况。如果你自己设置值,这不是问题,因为你知道什么时候你做了……但是,当您使用AngularJS这样的库来在状态改变时更新视图时,它可能需要更多的工作。或者您必须使用计时器来检查该值。

另请参阅Detecting input change in jQuery?的答案,它建议使用现代浏览器可以理解的“输入”事件。所以只要:

代码语言:javascript
复制
$("#inputname").on('input', function() {
    //!this.value ...
});
票数 24
EN

Stack Overflow用户

发布于 2017-01-31 07:37:01

另一种简洁的方法是侦听textarea/input-type:文本字段上的"input“事件

代码语言:javascript
复制
/**
 * Listens on textarea input.
 * Considers: undo, cut, paste, backspc, keyboard input, etc
 */
$("#myContainer").on("input", "textarea", function() {
    if (!this.value) {

    }
});
票数 3
EN

Stack Overflow用户

发布于 2020-04-12 06:30:48

您可以检查on input‘function()中输入字段的值,并将其与if/else语句相结合,它将在下面的代码中工作得很好:

代码语言:javascript
复制
$( "#myinputid" ).on('input', function() {

         if($(this).val() != "") {

           //Do action here like in this example am hiding the previous table row

                   $(this).closest("tr").prev("tr").hide(); //hides previous row

         }else{

             $(this).closest("tr").prev("tr").show(); //shows previous row
         }
    });

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4403444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档