如何找出页面上的哪些元素正在侦听jQuery事件?
我正在尝试编写一个脚本来移动网站上的图块:http://threesjs.com/。我试图为箭头键发送一个按键事件,但它不起作用:
$('*').trigger(jQuery.Event('keypress',{which:$.ui.keyCode.UP}));
和
var e=jQuery.Event('keypress');
e.which=39;
$('*').trigger(e);
当按下键盘上的箭头键时,磁贴会移动,我应该将此按键发送到所有元素,但是在控制台中执行此操作时,电路板不会做出反应。我认为触发电路板移动的最佳方法是找出哪个元素正在监听按键事件。
答案 0 :(得分:0)
比手动触发jQuery事件更好的方法就是将处理程序拉出到可调用函数中。像这样:
function handleArrow(direction){
// code here
}
// handlers for the keypress
$(document).on('keypress',function(){
var direction = /*find out which key*/;
handleArrow(direction);
});
// Manual trigger
handleArrow('left');
(在此处插入标准全局变量和命名空间警告):P