2012-02-21 6 views
20

Просто интересно, есть ли способ вызвать Ctrl + CLICK (или просто любой ключ + CLICK) в jQuery. Я имею в виду что-то вроде следующего:jquery trigger ctrl + click

var e = jQuery.Event("keydown"); 
e.which = 17; 
$('a.'+id, this._parent).trigger(e).trigger('click'); 

или

var e = jQuery.Event("click"); 
e.ctrlKey = true; 
$('a.'+id, this._parent).trigger(e); 

Спасибо!

+0

Для какой цели? Например, запуск клика в JS не приведет к отключению гиперссылки. –

+2

Я думаю, что всегда лучше запускать РЕЗУЛЬТАТ действия, кроме самого действия: изменить window.location вместо нажатия на якорь с помощью JS, например. – hayavuk

+0

Я использую веб-элемент управления, который представляет собой представление столбца (аналогично OSX Finder - см. «Http://christianyates.com/comment/1529» для получения дополнительной информации). Я хочу выбрать элементы в представлении этого столбца на странице загрузки (часть возврата к тому, что пользователь выбрал раньше), и я делаю это в настоящее время, вызывая CLICK для элементов в представлении столбцов. В одном столбце может быть выбрано несколько элементов, и это будет сделано с помощью CTRL + CLICK. Итак, почему я хочу инициировать это событие. – Cricri

ответ

18

да это будет работать для вас:

var e = jQuery.Event("click"); 
e.ctrlKey = true; 
$('#id').trigger(e); 
+0

Я попробовал это для одного из моих расширений Chrome Chrome, но не смог работать. Хотя спасибо за повышение надежд :) – Savaratkar

+0

Он, похоже, не работает для OSX. Я попробовал 'e.metaKey = true', и он тоже не работает. –

+0

Не работает для меня в Chrome 44 – Daniel