为了账号安全,请及时绑定邮箱和手机立即绑定

您好,想请教下载JS中setTimeout中函数的写法是怎么样的呢?

您好,想请教下载JS中setTimeout中函数的写法是怎么样的呢?

小唯快跑啊 2021-11-02 17:11:13
请看以下代码,onKeyUp延时500毫秒后执行函数finit(this),请教下如何才能执行此函数,要求保留括号中的this,下面这样写是不是单双引号没写对的问题?<input id=ss name="S_T" type=text onKeyUp= setTimeout('finit(this)', 500) >
查看完整描述

2 回答

?
qq_遁去的一_1

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);" />

查看完整回答
反对 回复 2021-11-07
?
慕少森

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>



查看完整回答
反对 回复 2021-11-07
  • 2 回答
  • 0 关注
  • 190 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信