2012-02-21 44 views
20

Chỉ cần tự hỏi nếu có cách nào để kích hoạt một Ctrl + CLICK (hoặc chỉ bất kỳ phím + CLICK) nào trong jQuery. Tôi đang nghĩ đến một cái gì đó như sau:jquery trigger ctrl + click

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

hoặc

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

Cảm ơn bạn!

+0

Đối với mục đích gì? Ví dụ, kích hoạt một cú nhấp chuột trong JS sẽ không kích hoạt một siêu liên kết. –

+2

Tôi nghĩ tốt hơn hết là nên kích hoạt RESULT của một hành động hơn là hành động: thay đổi window.location thay vì nhấn anchor với JS chẳng hạn. – hayavuk

+0

Tôi đang sử dụng một điều khiển web mà là một cái nhìn cột (tương tự như Finder OSX - xem 'http://christianyates.com/comment/1529' để biết thêm chi tiết). Tôi muốn chọn các mục trong chế độ xem cột này khi tải trang (một phần quay lại những gì người dùng đã chọn trước đó) và tôi đang thực hiện việc này bằng cách kích hoạt CLICK trên các phần tử trong chế độ xem cột. Một cột có thể có nhiều phần tử được chọn và sẽ được thực hiện với CTRL + CLICK. Vậy tại sao tôi muốn kích hoạt sự kiện đó. – Cricri

Trả lời

18

vâng điều này sẽ làm việc cho bạn:

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

Tôi đã thử tính năng này cho một trong các tiện ích mở rộng google chrome của mình nhưng không thể hoạt động. Mặc dù thanx để nuôi hy vọng :) – Savaratkar

+0

Nó dường như không hoạt động đối với OSX. Tôi đã thử 'e.metaKey = true' và nó cũng không hoạt động. –

+0

Không hoạt động với tôi trong Chrome 44 – Daniel

Các vấn đề liên quan