如何让“jQuery.Event”在Firefox上工作?
问题描述:
当我点击 按钮时,我正在写一个触发keyCode为37的人工keydown事件的脚本。如何让“jQuery.Event”在Firefox上工作?
以下脚本在IE,Safari和Chrome上运行良好,但在Firefox和Opera上无效。即使我将{keyCode:37}改为{which:37},它仍然不起作用。
$('button').click(function(e){
jQuery("body").trigger(jQuery.Event("keydown", {keyCode: 37}));
e.preventDefault();
}
有谁知道如何使它在Firefox和Opera的工作?
答
试试这个,如果浏览器不支持which
,它将支持keyCode
$('button').click(function(){
var keyDownEvent = jQuery.Event("keydown");
if(keyDownEvent.which){
keyDownEvent.which = 37;
}else{
keyDownEvent.keyCode = 37;
}
$("body").trigger(keyDownEvent);
}
答
试试这样说:
$('button').click(function(){
var e = jQuery.Event("keydown");
e.which = 50;
$("body").trigger(e);
}
+0
谢谢您的答复。我尝试了上面的脚本,但它仍然无法在Firefox和Opera上运行... – 2012-01-05 04:56:57
感谢您的回复。我尝试了上面的脚本,但它仍然无法在Firefox和Opera上运行,尽管它在IE上运行良好。我不知道为什么... – 2012-01-05 04:55:24
我在上面的脚本中将Event(“keydown”)更改为Event(“keypress”)。然后它适用于FireFox和Opera!非常感谢您的帮助!!! – 2012-01-05 06:21:26
多数民众赞成在伟大..我试图太想出这个了..你是受欢迎的人.. – 2012-01-05 06:26:42