"Kiểm tra" một phần tử di chuột?


100

Lưu ý: Tôi đã đọc các chủ đề tương tự, nhưng không hoàn toàn là vấn đề của tôi - tôi có thể nhấp chuột phải vào nó, nó chỉ sau đó biến mất.

Tôi thấy "Kiểm tra phần tử" là một công cụ vô giá trong Chrome, tuy nhiên, bước đột phá mới nhất của tôi khi tôi tìm hiểu các cách phù hợp mà nhiều người trong số các bạn đã có đã thấy tôi tạo menu phụ cho một phần tử trên thanh điều hướng của tôi, nó sẽ bật lên bên dưới khi di chuột qua mục mẹ.

Cửa sổ bật lên (hoặc xuống) không hoàn toàn theo kiểu tôi muốn, vì vậy tôi nhấp chuột phải> kiểm tra phần tử để xem chính xác những gì đến từ đâu và hiểu rõ hơn về cách đạt được hiệu ứng mong muốn của tôi.

Tuy nhiên, ngay sau khi tôi di chuyển chuột ra khỏi menu, nó đã biến mất.

Vì vậy, tôi không thể chọn các phần tử khác nhau trong ngăn kiểm tra và xem khu vực nào được đánh dấu cùng một lúc.

Có cách nào để giải quyết vấn đề này mà không cần thay đổi menu để menu vẫn "bật lên" sau khi được kích hoạt không?


2
Trong những tình huống như thế này, tôi thường sử dụng bảng điều khiển để thực hiện sửa đổi tạm thời cho trang, chẳng hạn như xóa mouseleavesự kiện khỏi menu chính. Menu phụ sau đó sẽ vẫn mở ngay cả khi bạn di chuyển chuột ra khỏi menu chính.
jbabey

Chrome hiện hỗ trợ điều này. Chọn phần tử giao diện người dùng (ví dụ: thẻ)> Kiểm tra phần tử> Tab Kiểu, bên cạnh hộp bộ lọc có phần ": hov". Nhấp vào nó. Bây giờ bạn có thể chọn hộp kiểm di chuột và xem những kiểu nào tải khi di chuột.
Dhanuka777

Câu trả lời:


69

Nếu hoverhiệu ứng được đưa ra với CSSthì có, tôi thường sử dụng hai tùy chọn để có được điều này:

Một, để seenhững hover effectkhi chuột rời hover area:
Mở thanh tra trong cửa sổ neo đậu và tăng độ rộng cho đến khi tầm với của bạn HTML element, sau đó nhấp chuột phải và popup menu phải trên vùng thanh tra ... sau đó khi bạn di chuyển chuột lên quan điểm thanh tra , cáchover effect tiếp tục được kích hoạt trong tài liệu.

nhập mô tả hình ảnh ở đây

Hai, để keepcác hover effectngay cả khi chuột không phải là qua HTML element, mở thanh tra, đi đến Styles TABvà nhấp vào biểu tượng trên bên phải mà nói Toggle Element State... (hình chữ nhật chấm với một mũi tên) Ở đó bạn có thể tự kích hoạt Hover Event(trong số những người khác) với đã cung cấp hộp kiểm.

nhập mô tả hình ảnh ở đây

Nếu nó không rõ ràng chút nào, hãy cho tôi biết và tôi có thể thêm một vài ảnh chụp màn hình. Đã chỉnh sửa : đã thêm ảnh chụp màn hình.

Và cuối cùng và như tôi đã nói lúc đầu, tôi chỉ có thể làm điều này nếu hoverthiết lập được đặt vớiCSS:HOVER ... khi bạn kiểm soát hover statevớijQuery.onMouseOver ví dụ, chỉ hoạt động (đôi khi), phương pháp Một.

Hy vọng nó giúp.


4
Giải pháp đầu tiên của bạn là một cách giải quyết tốt và tôi có một cách để làm cho nó tốt hơn: nhấp chuột phải vào phần tử được di chuột, di chuyển chuột hoàn toàn đến "vùng kiểm tra", sau đó điều hướng bằng các phím bàn phím và nhấn enter trên "phần tử kiểm tra ". Phần tử sẽ được giữ ở chế độ di chuột. Đối với giải pháp thứ hai của bạn, vâng, đó (hoặc sử dụng trình đơn ngữ cảnh :hover) rõ ràng là giải pháp chính xác, nhưng rất tiếc là điều này đã không hoạt động trên Chrome / Firefox lâu như tôi có thể nhớ ...
Gilad Barner

Tôi đã quen với việc này trong Windows, nhưng trong Mac thủ thuật này không hoạt động, có ai đã tìm ra cách này trên máy Mac không? có vẻ như nó "giao tiếp" sự kiện chuột di chuyển đến cửa sổ ngay cả khi chuột là trong thanh tra hoặc sub-menu
santiago arizti

@GiladBarner cảm ơn bạn vì phím tắt được cung cấp, nó phù hợp với tôi. Tôi không biết đây có phải chỉ là sự cố trên PC của mình hay không nhưng tôi không thể thấy tùy chọn menu được chọn qua bàn phím và phím tắt (ctrl-shift-I) không hoạt động trong khi menu thả xuống hiển thị , vì phần tử kiểm tra là tùy chọn cuối cùng trên menu thả xuống, tôi đã sử dụng phím mũi tên lên để bao quanh mục cuối cùng và nhấn enter, và nó đã hoạt động.
Bill Hileman

Có vẻ như hiện tại :hovertùy chọn này nằm trong Tùy chọn lớp học chuyển đổi
Sagnik Pradhan

150

Nếu di chuột được kích hoạt bởi JS, chỉ cần tạm dừng thực thi tập lệnh qua bàn phím. Đây là một nhiều cách đơn giản hơn của đông DOM hơn câu trả lời khác đề nghị.

Đây là cách bạn thực hiện trong Chrome. Tôi chắc chắn rằng Firefox có một thủ tục tương đương:

  1. Mở Công cụ dành cho nhà phát triển và chuyển đến Nguồn.
  2. Lưu ý phím tắt để tạm dừng thực thi tập lệnh— F8.

    Tạm dừng thực thi tập lệnh

  3. Tương tác với giao diện người dùng để phần tử xuất hiện.

  4. Đánh F8 .
  5. Bây giờ bạn có thể di chuyển chuột xung quanh, kiểm tra DOM, bất cứ điều gì. Phần tử sẽ ở đó.

3
Các phương pháp khác được cung cấp ở đây không hoạt động trong nhiều ngữ cảnh.
Ed Staub

Hoàn hảo. Vì một số lý do F8 không hoạt động trước khi tôi tìm thấy bài đăng này. Bây giờ tôi đã thử lại trên cùng một trang mà tôi đang chẩn đoán và nó đã hoạt động. (cwl)
Drew

2
Tuyệt vời. Tôi nghĩ đây là cách tốt nhất.
Varun Mehta,

1
cho Safari của nó Debuggertab
user2661518

6
Nó không hiệu quả với tôi. Sau đó F8, màn hình bị đóng băng và không thể chọn bất kỳ phần tử nào. Cách giải quyết của tôi là nhấn F8, chuyển sang Elementstab, sau đó tìm kiếm các từ có trên phần tử di chuột.
AngryHacker

32

Điều hiệu quả với tôi là chọn một thẻ cụ thể mà tôi muốn kiểm tra và thực hiện việc này:

nhập mô tả hình ảnh ở đây

Sau khi thực hiện các bước trên, thông thường tôi sẽ chọn lại thẻ đó, sau đó menu thả xuống sẽ tự động giữ nguyên trạng thái ngay cả khi tôi di chuột đến những nơi khác như Kiểm tra phần tử, v.v.

Bạn chỉ có thể làm mới trình duyệt khi thực hiện kiểm tra các phần tử menu thả xuống để trở lại trạng thái bình thường.

Hi vọng điêu nay co ich. :)


5
Thiên tài :). Điều này cho phép kiểm tra các di chuột được tiết lộ bởi javascript.
ElwoodP

1
Rất vui, nó hoạt động tốt hơn câu trả lời ban đầu cho tôi.
Victor

14

Bạn cũng có thể thực hiện việc này trong bảng điều khiển javascript:

$('#foo').trigger('mouseover');

An sẽ "đóng băng" phần tử ở trạng thái "di chuột".


7

Đây là cách tôi thực hiện mà không có thay đổi CSS hoặc JS tạm dừng trong Chrome (Tôi đang sử dụng máy Mac và không có PC phía trước nếu bạn đang chạy trên Win):

  1. mở bảng điều khiển dành cho nhà phát triển của bạn.
  2. chưa bật công cụ kiểm tra khi di chuột mà thay vào đó, hãy mở menu phụ bạn muốn bằng cách di chuột qua nó.
  3. nhấn Command+ Shift+ C(Mac) hoặc Ctrl+ Shift+ C(Win / Linux)

bây giờ công cụ kiểm tra di chuột sẽ áp dụng cho các phần tử bạn đã mở trong điều hướng phụ của mình.


4

Không chắc liệu nó có xuất hiện trong các bản sửa đổi trình duyệt trước đây hay không, nhưng tôi vừa tìm ra phương pháp cực kỳ đơn giản này.

Mở trình kiểm tra trong chrome hoặc Firefox, nhấp chuột phải vào phần tử bạn quan tâm và chọn tùy chọn thích hợp (trong trường hợp này là: di chuột). Điều này sẽ kích hoạt CSS được liên kết.

Mở menu bằng crôm Mở cùng một menu trong Firefox

Ảnh chụp màn hình từ Firefox 55 và chromium 61.


2

Công cụ tuyệt vời!

Cảm ơn gmo vì lời khuyên đó. Tôi không biết về những cài đặt thuộc tính đó rất hữu ích.

Như một sửa đổi nhỏ cho từ ngữ, tôi sẽ giải thích quá trình đó như sau:

  • Nhấp chuột phải vào phần tử bạn muốn tạo kiểu

    • Mở công cụ 'Kiểm tra'

    • Ở phía bên phải, điều hướng đến tab Kiểu nhỏ

    • Đã tìm thấy nội dung biểu định kiểu CSS ở trên

    • Chọn tùy chọn .hov - Điều này sẽ cung cấp cho bạn tất cả các cài đặt có sẵn cho phần tử HTML đã chọn

    • Nhấp và Thay đổi tất cả các tùy chọn để không hoạt động

    • Bây giờ Chọn trạng thái mà bạn muốn tinh chỉnh - Khi kích hoạt bất kỳ trạng thái nào trong số này, Biểu định kiểu của bạn sẽ chuyển bạn trực tiếp đến các cài đặt đó:

Kiểu - Bộ lọc tinh chỉnh - Yếu tố tương tác

Thông tin này là một cứu cánh cho tôi, không thể tin được là tôi vừa được nghe về nó!


Đây là cách tốt nhất cho chrome!
đánh trứng

1
Tuyệt vời, câu trả lời của tôi có hữu ích cho bạn không?
Dan Haddock

0

thay đổi CSS để thuộc tính ẩn menu không được áp dụng trong khi bạn làm việc trên đó là điều tôi làm.


Oh thôi nào chương tôi đã nói cụ thể mà không sửa đổi như vậy.
OJFord

bạn đã nói vì vậy nó không "vẫn bật lên sau khi được kích hoạt" Tôi khuyên bạn nên loại bỏ tất cả các trình kích hoạt kích hoạt để nó luôn hiển thị. đó là cách tôi thực hiện tất cả các menu bật lên, nếu không thì đó là một thế giới đau khổ. nhưng gõ mình ra :)
Woody

0

Tôi cần phải làm điều này, nhưng phần tử tôi đang cố gắng kiểm tra đã được thêm và xóa động dựa trên trạng thái di chuột của phần tử khác. Giải pháp của tôi tương tự như giải pháp này , nhưng điều đó không hiệu quả với tôi.

Vì vậy, đây là những gì tôi đã làm:

  1. Thêm tập lệnh đơn giản để vào chế độ trình gỡ lỗi dựa trên mouseoverphần tử kích hoạt sự kiện di chuột mà bạn lo ngại.
$(document).on('mouseover', '[your-hover-element-selector]', function(e) {
  debugger;
});
  1. Sau đó, với bảng điều khiển dành cho nhà phát triển mở trong Chrome, hãy di chuột qua phần tử của bạn và bạn sẽ vào chế độ gỡ lỗi. Điều hướng đến phần nguồn của các công cụ dành cho nhà phát triển và nhấp vào nút "Tiếp tục thực thi tập lệnh" (nút giống như phát màu xanh lam bên dưới).

nhập mô tả hình ảnh ở đây

Khi bạn làm điều đó, DOM của bạn sẽ bị tạm dừng ở trạng thái di chuột và bạn có thể sử dụng trình kiểm tra phần tử để kiểm tra tất cả các phần tử khi chúng tồn tại ở trạng thái đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.