我想模拟几次点击。 “保存”和“取消”锚点击。
我将此作为我的输入模拟
$('.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中运行它。
答案 0 :(得分:4)
只需使用e.which
即可。 jQuery在浏览器中为您规范化。
然后测试27
。
编辑:出于某种原因,您还需要使用keyup
而不是keypress
来使用ESC键。
示例: http://jsfiddle.net/uRE7x/
$('.group').live('keyup', function(e){
if(e.which == '27'){
$(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');
});
}
});
答案 1 :(得分:0)
由于您没有提供任何HTML,我只专注于esc功能。 esc是字符27,可能是你的功能失效的原因。
<html>
<input></input>
<script>
$(document).delegate('input','keypress', function(e){
code = e.keyCode ? e.keyCode : e.which;
if(code=== 27){
alert('esc pressed');
}
});
</script>
</html>