关于定时触发的函数

qq1119753812 2010-10-09 10:50:59
   var c = 0;
$(function(){

change_direction();
test();

});

function test(){

c = c + 1;
$('#test').html(c);
setTimeout('test()', 2000);
}

function change_direction(){
$(window).keydown(function(e){
key = e.keyCode;
$('#test').html(key);
});
}


如果我把setTimeout('test()', 2000);这句注释掉,那么我每按一个键,都可以在#test的div上显示出按键值。否则,就不行,就回1、2、3、…………这么过去了

我想要它自动的加上去,但是在我按键盘的时候,div上显示按键的数值,要怎么做呢?
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dogfish 2010-10-19
  • 打赏
  • 举报
回复
你一个地方,有2个地方要在那里显示内容,当然有冲突。
zjhiphop2006 2010-10-18
  • 打赏
  • 举报
回复
你把$(window).keydown函数直接写到load函数中就可以了,如:
$(function(){
$(window).keydown(function(e){
var e=e||window.event;
$('#test').html(e.keyCode);
});

});
这样,在窗口聚焦的时候就会直接显示charcode到div中了
上海程序员3 2010-10-18
  • 打赏
  • 举报
回复
setTimeout保留,加个全局变量,中间加个判断,如果是按钮按下,那setTimeout里对应的函数就不要在div里显示东西。


------------------------------
“微软箱”这个工具软件不错

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧