2013-09-04 20 views
6

Tôi đang cố gắng mô phỏng sự kiện nhấp chuột trong http://translate.google.com với jquery. Vì mục đích đó, tôi nạp tập tin jquery với mã này:Không thể kích hoạt sự kiện được tổ chức với jquery

var script = document.createElement("script"); 
script.src = "http://code.jquery.com/jquery-1.10.1.min.js"; 
document.body.appendChild(script); 

Sau đó, tôi đang cố gắng để mô phỏng một nhấp chuột vào một phần tử với một chọn, như thế này:

jQuery(".goog-inline-block.goog-flat-menu-button-caption").trigger("mousedown") 

Tôi cũng cố gắng nhấp chuột này sự kiện thay vì mousedown:

jQuery(".goog-inline-block.goog-flat-menu-button-caption").trigger("click") 

Không ai trong số họ cho hiệu quả của việc nhấp vào div theo cách thủ công, cụ thể là mở div mới. Tôi đính kèm các ss của hành vi mong muốn.

clicked state

Điều gì có thể là nguyên nhân khiến jquery không hoạt động? Hoặc làm thế nào tôi có thể mô phỏng hiệu ứng theo bất kỳ cách nào khác?

Chỉnh sửa: Thêm jQuery có vẻ là thành công theo nghĩa là tôi có thể sử dụng phương pháp jQuery để chọn các yếu tố và thay đổi nội dung của chúng vv

+2

Tôi không chắc mình có hiểu hay không - Bạn đang cố kích hoạt nhấp chuột trên trang web của bên thứ ba bằng jQuery chưa? –

+1

Tôi nghĩ rằng @RoryMcCrossan là đúng, nó là một ** iframe ** bạn đang cố gắng để có được? – Praveen

+0

Thứ nhất, 'click' là điều đúng để kích hoạt. Thứ hai, bạn đang viết một phần mở rộng? – Archer

Trả lời

9

Dung dịch được tạo ra một MouseEvent và cử nó vào phần tử, như thế này :

var e1 = document.createEvent("MouseEvents"); 
e1.initMouseEvent("mousedown", true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null); 
jQuery('#gt-sl-gms')[0].dispatchEvent(e1) 

có vẻ như cơ chế sự kiện của jQuery sử dụng hệ thống điều phối khác nhau, vì nó không thể kích hoạt các chức năng nghe, mặc dù tôi đã không xác nhận thông tin này.

+0

điều này không hoạt động trong I.E 9 !! Bất kỳ ý tưởng nào về giải pháp trình duyệt chéo? –

+0

hoạt động như một sự quyến rũ! –

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