2010-05-23 39 views
7

Có thể mô phỏng nhấp chuột trên trang web bằng javascript hay không mà không xác định phần tử cụ thể, mà chỉ cần chỉ định tài liệu?Mô phỏng nhấp chuột bằng javascript trên tài liệu

tôi đã có thể thích để làm một cái gì đó như thế này, và nếu vị trí xảy ra để có một liên kết, thì điều này sẽ được ép:

function simulateClick(x, y) 
{ 
    var evt = window.createEvent("MouseEvents"); 
    evt.initMouseEvent("click", true, true, window, 
     x, y, x, y, 1, false, false, false, false, 0, null); 

    window.dispatchEvent(evt); 
} 

Trả lời

5

window.dispatchEvent nên làm các trick.

<script> 
function simulateClick() { 
    var evt = document.createEvent("Events"); 
    evt.initEvent("click", true, true); 
    window.dispatchEvent(evt); 
} 
addEventListener('click',function(){alert('test');},false); 
</script> 
<button onclick="simulateClick();">Go</button> 

Hoặc ... với thêm thông tin MouseEvents:

<script> 
function simulateClick() { 
    var evt = document.createEvent("MouseEvents"); 
    evt.initMouseEvent("click", true, true, window, 1, 12, 345, 7, 220, false, false, true, false, 0, null); 
    window.dispatchEvent(evt); 
} 
addEventListener('click',function(){alert('test');},false); 
</script> 
<button onclick="simulateClick();">Go</button> 

Những ví dụ trên sẽ gây ra một cú nhấp chuột để được mô phỏng trên window khi button được nhấp. Trình xử lý sự kiện được thêm vào window đến alert khi được nhấp, do đó, nhấp vào button sẽ gián tiếp kích hoạt một số alert. Thông tin

thêm: http://www.howtocreate.co.uk/tutorials/javascript/domevents

+0

Tôi muốn có thể đưa ra các tọa độ của sự kiện để điều này có thể được gọi là lập trình tạo thành một khung bên ngoài. – Charlie

+0

Ở đó, chỉ cần thêm một ví dụ khác với dữ liệu cụ thể của MouseEvents'. –

+0

Điều đó tốt hơn :-) 'addEventListener' là gì? – Charlie

0

Trong trường hợp bất cứ ai đã đâm sầm vào đây tìm kiếm một khuôn khổ thuyết bất khả tri cách để bắn bất kỳ HTML và sự kiện chuột (và thiết lập một số tùy chọn, nếu cần thiết), có một cái nhìn ở đây: How to simulate a mouse click using JavaScript?

+1

Trong một giờ qua, chúng tôi đã nhận thấy bạn đăng cùng một câu trả lời cho một số câu hỏi. Trong khi chúng tôi đánh giá cao những nỗ lực của bạn để đạt được giải pháp mà bạn mô tả, sẽ hữu ích hơn nếu bạn có thể viết câu trả lời của mình để giải quyết vấn đề cụ thể của OP thay vì đăng câu trả lời tương tự. Việc không làm như vậy có thể thu hút những người bị downvotes vì ​​những người dùng khác có thể xem các câu trả lời soạn sẵn này là "spam". – Kev

+1

Hơn nữa, cùng một câu trả lời soạn sẵn trong câu trả lời cho câu hỏi này http://stackoverflow.com/questions/6157162 không liên quan đến câu hỏi của OP về cách kết nối các trình xử lý sự kiện chứ không phải về cách mô phỏng nhấp vào một trang thành phần. Một lần nữa, hãy dành nhiều thời gian và chăm sóc để đảm bảo câu trả lời của bạn có liên quan. Cảm ơn. – Kev

+0

Xin chào Kev, người cuối cùng tôi vừa xóa. Đúng vậy, tôi đã trở nên nhiệt tình. Thường thì câu hỏi cụ thể hơn là giải pháp (câu hỏi để mô phỏng một cú nhấp chuột, phím tắt, ...). Tôi nghĩ điều đó sẽ ổn, vì nó có thể xử lý nhiều hơn những gì được yêu cầu. Điều tôi đã làm là tìm kiếm [javascript] + sự kiện mô phỏng (nếu tôi nhớ chính xác, đã muộn vào ban đêm). Khi tôi đã từng tìm kiếm câu trả lời về cách mô phỏng nhấp chuột vào liên kết, tôi đã gặp phải giải pháp kangax. Cá nhân tôi rất vui khi tìm được giải pháp có thể xử lý nhiều hơn thì tôi cần và ở lại tương đối nhẹ. – TweeZz

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