使用On Keyup功能实时

时间:2012-07-05 09:12:24

标签: javascript jquery

我希望在ajax调用之后执行此代码(意味着.live)我应该如何更改代码?

var el=document.getElementById('txt_url');
el.onkeyup=function(){
    var str=el.value;
    if(str=='') return;   
    if(str.indexOf('http://')==-1 && str.length >= 7)
    el.value='http://'+str;   
}

2 个答案:

答案 0 :(得分:2)

要将处理程序绑定到元素,请使用jQuery .on()方法。 (截至jquery 1.7)

$("body").on("keyup","#txt_url",function(){
   // your code
});

它取代了已弃用的.live()处理程序。

另外,如果您使用jQuery,我建议您始终如一地使用它 - 也用于元素选择和处理程序绑定。

或者你可以在成功函数中绑定处理程序,但我更喜欢以更一致的方式进行事件绑定。

答案 1 :(得分:0)

您需要设置成功处理程序:

$.ajax({
  url: 'ajax/test.html',
  success: function(data) {
    var el=document.getElementById('txt_url');
    el.onkeyup=function(){
        var str=el.value;
        if(str=='') return;   
        if(str.indexOf('http://')==-1 && str.length >= 7)
        el.value='http://'+str;   
    }
  }
});

jQuery Ajax Documentation