首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >maxLength上的ajax调用- CTRL V上未更新(粘贴)

maxLength上的ajax调用- CTRL V上未更新(粘贴)
EN

Stack Overflow用户
提问于 2012-08-28 22:52:18
回答 1查看 303关注 0票数 1
代码语言:javascript
运行
复制
//show city/state on input maxlength
$("input#billZipCode").live("keyup", function( event ){

    if(this.value.length == this.getAttribute('maxlength')) {
        if(!$(this).data('triggered')) {
            // set the 'triggered' data attribute to true
            $(this).data('triggered', true); 
            if ($(this).valid() == true ) { zipLookup(this, "USA"); } 
        }
    } else {
    $(this).data('triggered', false);
    }

});

函数zipLookup执行ajax调用并填充字段。

当用户输入zipcode时,上述方法有效-但是,如果用户输入zipcode,然后粘贴(CTRL V)新的Zipcode值,则该函数不会再次触发。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-28 23:00:05

您可以捕获paste事件:

代码语言:javascript
运行
复制
$(document).on('change keyup paste', '#billZipCode', function(){
   // do something
});​​​​​​

jquery使用的onpaste回调的引用:https://developer.mozilla.org/en-US/docs/DOM/element.onpaste

请注意,正如在the documentation中指定的那样,这在IE8上不起作用:您必须将paste事件直接附加到元素:

在Internet Explorer8和更低版本中,粘贴和重置事件不会冒泡。此类事件不支持与委托一起使用,但当事件处理程序直接附加到生成事件的元素时,可以使用这些事件。

附注:

  • 使用"#billZipCode“而不是"input#billZipCode”
  • 使用on,而不是live (已弃用)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12161976

复制
相关文章

相似问题

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