$("#element").bind("keydown", function(e) {
if (e.which === 39) { //if keyboard right arrow
$("#element").trigger({
type: 'mousedown',
button: 2
}).trigger({
type: 'mouseup'
});
$("#element").bind('mousedown', function(ev) {
if (ev.which === 2) {
//call method - I need pageX and pageY coordinates
//methods.show.apply($this, [ev.pageX, ev.pageY, options.showAnimation]);
alert("called");
}
});
}
});
我想做的是: 按键盘右箭头键,然后模拟鼠标右键单击触发器,现在我需要的是一个处理程序,所以我可以启动我需要X&的上下文菜单。 Y坐标。
答案 0 :(得分:1)
以下代码将记住#element
数据中的鼠标光标位置。然后它将使用keydown
处理程序中存储的坐标:
$(document).on({
keydown: function(e) {
if (e.which === 39) {
var $el = $("#element"),
pos = $el.data("pos");
$el.trigger({
type: 'mousedown',
which: 3,
pageX: pos[0] || 0,
pageY: pos[1] || 0
});
}
},
mousemove: function(e) {
$("#element").data("pos", [e.pageX, e.pageY]);
}
});
$("#element").on({
mousedown: function(e) {
if (e.which === 3) {
alert(e.pageX + " / " + e.pageY);
}
}
});