为什么我不能用jQuery触发这个keydown事件?

时间:2014-04-16 16:42:00

标签: javascript jquery html

我想应用我的JavaScript算法来解决2048游戏。 http://gabrielecirulli.github.io/2048/

首先,我想添加使用js模拟网站上的keydown事件(向左,向右,向上)的可能性

为此,我在js控制台中输入了以下代码:

var jq = document.createElement('script');
jq.src = "http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);

现在我在网站上有jQuery。然后我想测试模拟keydown事件是否有效:

var e = $.Event("keydown", { keyCode: 39}); 
$("body").trigger(e);

但似乎没有调用该事件:(

我做错了什么?

1 个答案:

答案 0 :(得分:2)

2048页面没有也没有使用jQuery。从here您可以看到" .trigger()函数不能用于模仿本机浏览器事件"

在该站点上还发现了另一个jQuery库jquery.simulate.js,它允许模拟本机浏览器事件。

你必须记住jQuery!== JavaScript。如果网站不开始使用jQuery,那么添加它很可能不会产生可行的解决方案。