У меня есть <input type="checkbox">
тег внутри <summary>
внутри <details>
, который, к сожалению, переключает <details>
, чтобы открывать или закрывать, когда он отмечен или не отмечен, в отличие от этот вопрос относительно переключения пространствадетали , но, к сожалению, в моей версии Firefox для меня нельзя исправить одним и тем же методом.
См. фрагмент ниже:
$('input').change(function(e) {
e.stopPropagation();
e.preventDefault();
return false;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<details>
<summary>
<input type="checkbox">
</summary>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse finibus bibendum lorem, vitae efficitur felis mattis vitae. Sed mattis tristique rutrum. Morbi a placerat purus, et pulvinar risus. Vivamus accumsan sapien et nisi vulputate blandit. Aenean nec consectetur nulla. Nunc efficitur tincidunt placerat. Vivamus blandit est lectus, ut fermentum velit vulputate ut. Morbi elementum sem massa, eleifend laoreet dui tristique quis. Nulla mi dolor, consectetur blandit fermentum quis, tempor id nisi. Phasellus vel lobortis enim, id blandit turpis. Nullam dapibus feugiat risus eu pharetra. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam enim justo, pharetra sit amet urna sed, ultricies tempor nibh.
</div>
</details>
Как предотвратить открытие / закрытие <details>
, установив или сняв флажок?(Кроме очевидного ответа о перемещении тега <input>
за пределы <summary>
. Мне любопытно, почему это происходит)
Редактировать
Как упомянуто@ Терри, а затем подтвердил, что эта проблема не затрагивает ни Safari, ни Chrome, и даже Firefox в Windows, кажется, действует по-другому (он просто полностью игнорирует щелчки на флажке).Подтверждено, что влияет на Firefox 66.0.2-3 в OS X Mojave 10.14.4.
Также, если вы фиксируете событие нажатия на <summary>
и return false;
, флажок все равно переключает <details>
, даже если нажатьв других местах <summary>
нет.
Редактировать 2
Это ошибка Firefox, исправленная в версии 67.