我希望在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;
}
答案 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;
}
}
});