Làm cách nào để tôi có thể viết một trình xử lý onclick thực hiện một thao tác cho các nhấp chuột thông thường và một điều khác cho các nhấp chuột thay đổi?Trong trình xử lý onclick, làm cách nào tôi có thể phát hiện xem có thay đổi được nhấn không?
17
A
Trả lời
39
Bạn có thể xem thuộc tính shiftKey của sự kiện nhấp chuột.
window.addEventListener("click",
function(e) {
if (e.shiftKey) console.log("Shift, yay!");
},
false);
<p>Click in here somewhere, then shift-click.</p>
2
Sự kiện này bị sa thải từ DOM ought chứa một shiftKey
(hoặc tương đương) bất động sản cho thấy trạng thái của phím shift khi sự kiện đã bị sa thải; xem, ví dụ: https://developer.mozilla.org/en/DOM/event.shiftKey cho một ví dụ.
Nếu bạn đang sử dụng thư viện gói JavaScript/DOM như YUI, Prototype hoặc jQuery, bất kỳ sự khác biệt nào trong triển khai phải không phải là vấn đề.
3
Bạn cần đảm bảo bạn vượt qua event
làm tham số cho hàm onclick
của mình. Bạn cũng có thể chuyển các tham số khác.
<html>
<head>
<script type="text/javascript">
function doSomething(event, chkbox)
{
if (event.shiftKey)
alert('Shift key was pressed while picking ' + chkbox.value);
else
alert('You picked ' + chkbox.value);
}
</script>
</head>
<body>
<h3>Pick a Color</h3>
<input type="radio" name="myColors" onclick="doSomething(event, this)" value="Red" /> Red<br/>
<input type="radio" name="myColors" onclick="doSomething(event, this)" value="Green" /> Green<br/>
<input type="radio" name="myColors" onclick="doSomething(event, this)" value="Blue" /> Blue<br/>
</body>
</html>
Các vấn đề liên quan
- 1. Tôi làm cách nào để trình duyệt có thể xem các thay đổi CSS và Javascript?
- 2. Làm cách nào để tôi có thể xử lý quy trình R trong ESS/Emacs?
- 3. Javascript - phát hiện xem trình xử lý sự kiện có được hỗ trợ
- 4. JavaScript: Thêm trình xử lý onClick mà không ghi đè số hiện có
- 5. Java - Chúng tôi có thể phát hiện nếu một phím được nhấn mà không sử dụng Trình nghe không?
- 6. Làm cách nào tôi có thể thấy các thay đổi đang chờ xử lý của Khung thực thể?
- 7. Có cách nào để phát hiện xem #pragma không được quản lý có hiệu lực trong C++/CLI không?
- 8. Cách phát hiện xem $ _POST có được đặt không?
- 9. Làm thế nào tôi có thể phát hiện một nút chuột được giữ trên một PictureBox?
- 10. Kiểm tra xem có bất kỳ thay đổi đang chờ xử lý nào để được lưu
- 11. Làm cách nào để phát hiện xem trình duyệt có hỗ trợ MJPEG không?
- 12. Làm cách nào để chương trình của tôi có thể phát hiện xem chương trình có đang chạy trên một miền cụ thể không?
- 13. Làm cách nào để tôi có thể thực hiện một chương trình chờ thay đổi trong javascript?
- 14. Trong WPF tôi có thể đính kèm cùng một trình xử lý nhấn vào nhiều nút cùng một lúc như tôi có thể trong Javascript/Jquery không?
- 15. Làm cách nào để phát hiện xem thanh cuộn của JScrollPane có thay đổi mức hiển thị không?
- 16. Làm cách nào để kiểm tra xem có trình xử lý sự kiện JavaScript/trình xử lý nào được đính kèm với một phần tử/tài liệu không?
- 17. Tôi có thể phát hiện xem hiệu ứng bộ lọc CSS có được hỗ trợ không?
- 18. Làm thế nào tôi có thể phát hiện g ++ và MinGW trong bộ tiền xử lý C++?
- 19. Tôi có thể phát hiện các thay đổi liên kết trong Silverlight không?
- 20. Cách lập trình để phát hiện xem tệp có được mở trong Windows không?
- 21. Làm cách nào để phát hiện xem âm lượng có được đặt thành tắt tiếng không?
- 22. Cách phát hiện xem Vista UAC có được bật không?
- 23. Làm thế nào tôi có thể nhấn mạnh CPU của điện thoại theo cách lập trình?
- 24. Làm cách nào để phát hiện xem khóa mũ có được bật trong Swing không?
- 25. Trình xử lý ngắt có thể được xử lý bởi cùng một trình xử lý ngắt không?
- 26. Phát hiện xem HttpModule có được nạp
- 27. JQuery Datatables. Làm thế nào tôi có thể thay đổi trang hiện tại theo lập trình?
- 28. Cách phát hiện xem Micrô có hiện diện không
- 29. Cách phát hiện xem MemoryMappedFile có đang sử dụng không
- 30. Làm cách nào để tôi có thể phát hiện xem người dùng đã chọn từ tùy chọn createChooser?