Воздействие на весь блок 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, и вам, вероятно, следует разместить более одного из этих разделов. Вот пример.