以编程方式为按住元/控制键的点击创建jQuery事件

时间:2013-11-18 14:54:49

标签: javascript jquery

我希望能够以编程方式创建 Ctrl -click或 Cmd -click事件,以便我可以测试我的事件处理代码,像这样:

// event is a jQuery event
if (event.metaKey || event.ctrlKey) {
    // do stuff
    openUrlInNewWindow(url);
} else {
    // do other stuff
    openUrl(this.clickedAd.url);
}

我用$(selector).trigger('click', event)调用方法。我尝试过像这样创建活动:

jQuery.Event("click", {metaKey: true, keyCode: 91});

但是jQuery会转换我传入的事件并且似乎删除了keyCodemetaKey属性,所以当我在事件处理程序metaKey中收到它时总是{{1} }。

创建 Ctrl -click事件的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

var e = jQuery.Event( "click", { keyCode: 91, ctrlKey: true } );

$(".selector").trigger(e);

那工作吗?

有一个jsfiddle:http://jsfiddle.net/8n3u6/