2 回答
TA贡献1725条经验 获得超7个赞
如果在settimeout里面使用this,最终到执行时,this代表window,因为这是延时执行,执行的对象this是setTimeout,所以折衷的办法是提前获得对象并赋给一个名称,然后再使用。
<input id=ss name="S_T" type="text" onkeyup="window.S_T=this; setTimeout('finit(S_T)', 500);" />
TA贡献2019条经验 获得超9个赞
你这样是传不进去的,它当字符产处理了;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<!--
我建议你不要像你那样写代码,现在提倡三个文件分开,html css javascript,
如果你把样式、js 直接写在标签里面,那么出问题了,你就是满地找牙,
分而治之,htnl代码页很干净,css js 的代码页能集中管理,维护
-->
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
//jquery实现
$(function(){
$("#timer").keyup(function(){
setTimeout(function(){
//do something,你是不是延迟验证
alert("验证开始");
},500);
});
//下面你还可以写更多的代码
})
//纯javaScript实现
/*window.onload = function(){
var timer = document.getElementById("timer");
timer.onkeyup = function(){
setTimeout(function(){
//do something,你是不是延迟验证
alert("验证开始");
},500);
};
//下面你可以写更多的代码
};*/
</script>
</head>
<body>
<input type="text" id="timer" />
</body>
</html>
添加回答
举报