"Оглянути" елемент наведення?


100

Примітка: я читав подібні теми, але жодна не зовсім моя проблема - я можу клацнути правою кнопкою миші її, вона просто зникає.

Я вважаю, що "Огляньте елемент" безцінним інструментом у Chrome, проте мій останній набіг, коли я дізнаюся про чарівні способи, з яких багато хто з вас уже має, побачив, як я створюю підменю для елемента на моїй навігаційній панелі, який з'являється внизу після наведення його батьківський предмет.

Спливаюче вікно (або вниз) не так стильно, як мені б хотілося, тому я клацніть правою кнопкою миші> оглянути елемент, щоб побачити, що відбувається звідки саме там, і отримати краще уявлення про те, як досягти бажаного ефекту.

Однак, як тільки я відсуну мишку від меню, вона пропала.

Тому я не можу вибрати різні елементи на панелі перевірки і побачити, яка область виділяється одночасно.

Чи є спосіб обійти це питання, не змінюючи меню, щоб воно залишалося "спливаючим" після активації?


2
У таких ситуаціях, як правило, я використовую консоль для тимчасової модифікації сторінки, наприклад видалення mouseleaveподії з батьківського меню. Потім підменю повинно залишатися відкритим навіть після того, як ви вимкнете мишу з батьківського меню.
jbabey

Chrome підтримує це зараз. Виберіть елемент інтерфейсу (наприклад, тег)> Перевірити елемент> Вкладка стилів, поруч із полем фільтра є розділ ": hov". Клацніть по ньому. Тепер ви можете встановити прапорець наведення курсора і подивитися, які стилі завантажуються на наведення.
Dhanuka777

Відповіді:


69

Якщо hoverефект дається CSSтоді, так, я зазвичай використовую два варіанти, щоб отримати це:

Один з них , щоб коли миша залишити : Відкрийте інспектор в пристикований вікні і збільшувати ширину до досягнення ваших , а потім клацніть правою кнопкою миші і у спливаючому меню повинно бути над зоною інспектор ... тоді , коли ви переміщаєте мишу на думку інспектора , зберегти активовано в документі.seehover effecthover area
HTML elementhover effect

введіть тут опис зображення

По- друге, до навіть якщо миша не над , відкрийте інспектор, перейдіть і натисніть в правому верхньому значок , який говорить ... (пунктирний прямокутник зі стрілкою) Там ви вручну можете активувати (серед інших) з прапорець наданий.keephover effectHTML elementStyles TABToggle Element StateHover Event

введіть тут опис зображення

Якщо це зовсім не зрозуміло, дайте мені знати, і я можу додати кілька скріншотів. Відредаговано : скріншот додано.

І , нарешті , і , як я сказав на початку, я тільки бути в змозі зробити це , якщо hoverвстановлений з CSS:HOVER... коли ви контролюєте hover stateзjQuery.onMouseOver , наприклад, тільки працює (іноді), метод One.

Сподіваюся, це допомагає.


4
Ваше перше рішення - це хороший спосіб вирішення, і у мене є спосіб його покращити: клацніть правою кнопкою миші елемент, що перевіряється, повністю перемістіть мишу в "зону інспектора", а потім перейдіть за допомогою клавіш клавіатури та натисніть клавішу "ввести" елемент перевірки ". Елемент буде триматися зависним. Що стосується вашого другого рішення, так, це (або з використанням контекстного меню :hover), очевидно, повинно було бути правильним рішенням, але, на жаль, це не працює на Chrome / Firefox так довго, як я пам'ятаю ...
Gilad Barner

Я звик робити це в Windows, але в Mac цей трюк не працює, чи хтось знайшов спосіб на Mac? здається, що він "повідомляє" події переміщення миші у вікно, навіть якщо миша знаходиться в інспекторі або підменю
Сантьяго Арісті

@GiladBarner дякую за запропонований ярлик, він працював на мене. Я не знаю, чи це проблема лише на моєму ПК чи ні, але я не бачу опцію меню, вибрану за допомогою клавіатури, і клавіша швидкого доступу (ctrl-shift-I) не працює, поки видно спадне меню , тому оскільки елемент перевірки є останнім варіантом у спадному меню, я використовував клавішу зі стрілкою вгору, щоб обернутись до останнього елемента та натиснути клавішу Enter, і вона спрацювала.
Білл Гілеман

Здається, на даний момент :hoverваріант знаходиться у варіанті Toggle Classes
Sagnik Pradhan

151

Якщо наведенні запускається JS, просто призупиніть виконання сценарію за допомогою клавіатури. Це набагато простіший спосіб заморозити DOM, ніж інші відповіді.

Ось як ви це робите в Chrome. Я впевнений, що у Firefox є рівнозначна процедура:

  1. Відкрийте Інструменти для розробників та перейдіть до Джерела.
  2. Зверніть увагу на ярлик для призупинення виконання сценарію - F8.

    Призупинення виконання сценарію

  3. Взаємодійте з інтерфейсом користувача, щоб отримати елемент для появи.

  4. Удар F8.
  5. Тепер ви можете переміщати мишу, оглядати DOM, що завгодно. Стихія залишиться там.

3
Інші методи, запропоновані тут, не працюють у багатьох контекстах, де це відбувається.
Ед Стауб

Ідеально. Чомусь F8 не працював, перш ніж я знайшов цю посаду. Тепер я спробував це знову на тій же сторінці, яку я діагностував, і це спрацювало. (cwl)
Дрю

2
Дивовижно. Я думаю, що це найкращий спосіб.
Варун Мехта

1
для Safari - це Debuggerвкладка
user2661518

6
Це не працювало для мене. Після F8цього екран замерзає і не може вибрати жоден елемент. Моє вирішення полягає в натисканні F8, перемиканні на Elementsвкладку, а потім пошуку слів, що знаходяться на елементі наведення курсора.
AngryHacker

32

Що для мене працювало - це вибрати конкретний тег, який я хотів би перевірити, і зробити це:

введіть тут опис зображення

Зробивши вищесказане, я знову обираю тег, тоді спадне меню автоматично залишатиметься таким, що є, навіть коли я переходив курсор миші до інших місць, таких як Огляд елемента тощо

Ви можете просто оновити браузер, перевіряючи елементи меню, що випадає, щоб повернутися до нормального стану.

Сподіваюся, це допомагає. :)


5
Геній :). Це дозволяє перевірити наближення, виявлені за допомогою JavaScript.
ElwoodP

1
привіт, це спрацювало краще, ніж оригінальна відповідь для мене.
Віктор

14

Ви також можете це зробити на консолі javascript:

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

Що дозволить "заморозити" елемент у стані "наближення".


7

Ось як я це роблю без змін CSS або призупинення JS в Chrome (я на Mac і не маю перед собою ПК, якщо ви працюєте на Win):

  1. відкрити консоль розробника.
  2. ще не вмикайте інструмент перевірки наведення курсору, а натомість відкрийте потрібне підменю, перемістивши мишу на ньому.
  3. натисніть Command+ Shift+ C(Mac) або Ctrl+ Shift+ C(Win / Linux)

тепер інструмент перевірки наведення курсору застосує до елементів, які ви відкрили у підпункті навігації.


4

Не впевнений, чи він був присутній у попередніх версіях браузера, але я щойно з’ясував цей надзвичайно простий метод.

Відкрийте інспектор у хромі або Firefox, клацніть правою кнопкою миші на елементі, який вас цікавить, і виберіть відповідний варіант (у цьому випадку: наведіть курсор). Це запустить пов’язаний CSS.

Відкриття меню в хромі Відкриття того ж меню у Firefox

Знімки екрана з Firefox 55 та Chrome 61.


2

Відмінні речі!

Дякую gmo за цю пораду. Я не знав про ці параметри атрибутів масово корисних.

Як невелике перегляд формулювання я поясню цей процес наступним чином:

  • Клацніть правою кнопкою миші на елементі, який ви хотіли б укласти

    • Відкрийте інструмент "Перевірити"

    • Праворуч перейдіть до маленької вкладки Стилі

    • Знайдено вище вмісту таблиці стилів CSS

    • Виберіть параметр .hov - це дасть вам усі налаштування, доступні для обраного елемента HTML

    • Клацніть та Змініть усі параметри, щоб бути неактивними

    • Тепер виберіть стан, який ви хочете налаштувати - Після активації будь-якого з них ваш стілець перейде безпосередньо до цих налаштувань:

Стилі - Налаштування фільтрів - Інтерактивні елементи

Ця інформація була для мене рятівником, не можу повірити, що я щойно чув про неї!


Це був найкращий спосіб для хромування!
віночок

1
Чудово, чи допомогла вам моя відповідь?
Ден Хаддок

0

змінити CSS, щоб властивість, яка приховує меню, не застосовувалася під час роботи над ним, це те, що я роблю.


О, давай, хлопець, я спеціально сказав, не вносивши такої модифікації.
OJFord

Ви сказали, щоб він не "залишався спливаючим після активації", я пропоную видалити всі тригери активації, щоб це було завжди видно. таким чином я роблю всі спливаючі меню, інакше це світ болю. але вибийте себе :)
Вуді

0

Мені це потрібно було зробити, але елемент, який я намагався перевірити, був доданий і динамічно видалений на основі стану наведення іншого елемента. Моє рішення схоже на це , але це не дуже спрацювало для мене.

Отже ось що я зробив:

  1. Додайте простий скрипт, щоб увійти в режим налагодження mouseoverелемента, який запускає подію, що вас хвилює.
$(document).on('mouseover', '[your-hover-element-selector]', function(e) {
  debugger;
});
  1. Потім, відкривши консоль розробника в Chrome, наведіть курсор миші на ваш елемент, і ви перейдете до режиму налагодження. Перейдіть до розділу джерел інструментів розробників та натисніть кнопку "Відновити виконання сценарію" (синя кнопка, що нагадує відтворення внизу).

введіть тут опис зображення

Після цього ваш DOM буде призупинено в режимі наведення курсора, і ви можете використовувати інспектор елементів, щоб перевірити всі елементи, які вони існують у цьому стані.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.