我想模拟几次点击。 “保存”和“取消”锚点击。jQuery“Enter”和“ESC”模拟
我有这个作为我进入模拟
$('.group').live('keypress', function(e){
code = e.keyCode ? e.keyCode : e.which;
if(code.toString() == 13){
$(this).find('a.saveChanges').click();
}
});
,这是我的ESC模拟
$('.group').live('keypress', function(e){
code = e.keyCode ? e.keyCode : e.which;
if(code.toString() == 0){
$(this).find('a.discardChanges').click(function(){
GROUP.find('.group-text')
.text(GROUP.data('origText'))
.end().removeData('origText');
GROUP.find('.groupcount').fadeIn('slow');
GROUP.find('.group-image').fadeIn('slow');
GROUP.removeClass('editmode');
});
}
});
我进入似乎工作完美,但我ESC没有。我现在在Firefox中运行这个。
**为什么**是'.toString()' - 一个数字,然后使用类型强制的'=='来...比较它的数字?此外,jQuery规范化事件,以便您不需要检查'keyCode'属性。它将永远在那里(用于键盘事件)。 – 2010-10-13 16:32:12
哦?嗯,你能告诉我我该怎么做呢?我认为这是有效的,因为我的输入模拟工作像一个魅力。也许我的代码臃肿;-)因此,我的var代码,并让jQuery处理我的IF语句? – Eli 2010-10-13 16:37:06
当你在谈论模拟时,你的意思是检测到这个按键?要真正模拟它们,你应该做一些像'var e = jQuery.Event(“keyup”); e.which = 13; $('textarea#foo')。trigger(e);' – Tgr 2010-10-13 16:41:49