FireFox下有没有类似event.repeat属性

YH_Random 2008-07-08 11:05:54
FF下有吗?
没有的话,就只能在keyup里处理了 (>_<)
...全文
111 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuixiping 2009-12-18
  • 打赏
  • 举报
回复
记号。
BlueDestiny的思路是对的。
不过还没有考虑周全,当同一个键,释放之后,再按下,你这里还是会被认为是repeat。
所以,还是得从keyup处着手,keyup的时候置一个标志变量。
能产生repeat效果的有两个键盘事件:keydown, keypress.
YH_Random 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 BlueDestiny 的回复:]
HTML code

<input onkeydown="kd(event)"/><input id="abc"/>
<script type="text/javascript">//<![CDATA[
Event.prototype.__defineGetter__('repeat', function() {
var b = false, e = this;
if(e.which===window.EVENT_REPEAT) b = true;
window.EVENT_REPEAT = e.which;
return b;
});
function kd(e) {
document.getElementById('abc').value = 'repeat is "' +e.rep…
[/Quote]


哦,利用window来定义一个全局变量,在响应按键时判断当前的变量值是否为当前按下的键值,然后再给变量赋值,这样得到的比较结果就是,第一次按键时变量必为undefined,与按键值不相等,因为事件是onkeydown触发的,所以当repeat时,按键的值已经赋给变量了,所以是相等的,这时也就可以检测到当前是repeat了。。。

也就是说FF下还是没有自带的repeat属性,还得要自己写实现方法,HOHO~~

谢谢BlueDestiny,加分结贴了。。
PrewinZZZ 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 s_liangchao1s 的回复:]
楼上的强人
[/Quote]
s_liangchao1s 2008-07-08
  • 打赏
  • 举报
回复
楼上的强人
BlueDestiny 2008-07-08
  • 打赏
  • 举报
回复

<input onkeydown="kd(event)"/><input id="abc"/>
<script type="text/javascript">//<![CDATA[
Event.prototype.__defineGetter__('repeat', function() {
var b = false, e = this;
if(e.which===window.EVENT_REPEAT) b = true;
window.EVENT_REPEAT = e.which;
return b;
});
function kd(e) {
document.getElementById('abc').value = 'repeat is "' +e.repeat+ '"';
}
//]]></script>
wangruibaobei 2008-07-08
  • 打赏
  • 举报
回复
帮定
wzy_love_sly 2008-07-08
  • 打赏
  • 举报
回复
帮顶
pippe 2008-07-08
  • 打赏
  • 举报
回复
分分分分。。。。。。。。
YH_Random 2008-07-08
  • 打赏
  • 举报
回复
问题已经解决了,但我还是想知道FF里有没有event的repeat,
来点人啊,有人才好放分啊,分是拿不回去的。。。-_-~

87,921

社区成员

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

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