为什么绑定。('paste'与“if”必须完成两次才能激活

时间:2012-07-29 15:25:27

标签: jquery regex

当有人使用网址粘贴文字时,我会使用脚本检测文字中的网址。

所以我使用这个脚本:

$("#post").bind('paste', function(){

   var $ptext = $('textarea#post').val();
   var regexText = /^http:\/\/www$/;
   if(regexText.test($ptext))
   {
    alert('URL DETECTED');
   }
});

但是当我重新加载页面并且我第一次粘贴文本时,脚本什么都不做 我被迫再次重新制作文本,然后剧本就可以了。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我不知道为什么,但由于某种原因.bind()需要一个setTimeout(function(){//现在执行textarea val()调用;},100);为了访问更新的粘贴事件...但是如果你使用.on()代替它,它将在没有setTimeout调用的情况下工作

here's a working example showing how to achieve this in either scenario

感谢@Ohgodwhy