Воздействие на весь блок div с помощью функции ondblclick

Недавно я начал изучать DOM и видел несколько его примеров, однако я пытаюсь создать функцию (получение идентификатора), которая будет запускаться после двойного щелчка.

Это коды CSS, HTML и JavaScript, которые я использую.

Как мне изменить свой код, чтобы щелчок по любой части вызовет функцию и выведет ценность?

3 ответа

Это происходит потому, что у вашего тега нет содержимого. Если бы вы добавили текст в <p>и дважды щелкните текст, он будет работать.

Решение для этого заключается в использовании divвместо p:

Первый элемент p в основном завершается следующим элементом div, потому что ap (эквивалент абзаца) не может содержать div. Следовательно, код двойного щелчка не виден, потому что фактически первый элемент p не имеет содержимого.

Замена этого элемента p на div и правильное завершение означает, что все, что находится внутри div, приведет к двойному щелчку.

Однако обратите внимание, что ondblclick поддерживается не всеми браузерами (см. https://caniuse.com/?search=ondblclick), поэтому мы заменяем это, добавляя прослушиватель событий к элементу с помощью Javascript.

Вот полный фрагмент. Обратите внимание, что когда вы дважды щелкаете, innerHTML заменяется, и поэтому, если вы дважды щелкнете снова, вы увидите ошибку в консоли вашего браузера, поскольку элемент не может быть найден - его больше нет.

Вам необходимо иметь правильное вложение элементов html, и вам, вероятно, следует разместить более одного из этих разделов. Вот пример.

Другие вопросы по тегам