IE designMode Отображение дисплея: нет Divs

Я провел много исследований по этому поводу, но я не могу решить эту проблему. У меня есть Div с несколькими Div внутри, которые я хочу скрыть перед включением экземпляра TinyMCE.

Я делаю это через jQuery -

$(".drop").hide()

Это прекрасно работает, и каждый движок браузера, кроме Trident (IE), скрывает их. Если я проверю элементы в IE, css указывает «display: none».

Я нашел несколько статей и заметок о том, как это функция IE для отображения этих элементов, включая этот в MSDN: http://msdn.microsoft.com/en-us/library/aa770023(VS.85).aspx

Проблема в том, что они мне нужны, чтобы спрятать. Любые идеи?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
1 516
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете попробовать применить стиль, который устанавливает для отображения значение, отличное от «Нет», например:

.drop
{
    display: block; // or inline
}

Похоже, это вызвано необходимостью IE в элементе «иметь макет», чтобы выполнять с ним определенные операции, скрывая то, что он является одним из них. Элементы с заданным типом отображения блока должны иметь макет, то есть он занимает пространство и заставляет браузер реорганизовать элементы-братья вокруг себя.

Вот как это устроено сейчас. Я почти уверен, что это связано с hasLayout, но не уверен, что делать, чтобы он работал.

knowncitizen 02.01.2009 19:17

У вас есть пример в Интернете, на который я мог бы взглянуть?

Soviut 03.01.2009 12:26

К сожалению, нет, это внутреннее.

knowncitizen 21.07.2009 01:15

Насколько я помню, tinyMCE использует iframe для редактирования и включает режим редактирования внутри iframe, поэтому, если вы находитесь в режиме редактирования перед загрузкой tinyMCE, вы уверены, что должны поместить внешний документ в режим редактирования.

Чтобы уточнить, пытаетесь ли вы повлиять на внутреннюю часть iframe или загружаете содержимое tinyMCE, содержащее display: none

На самом деле, если вы загружаете контент с display: none в tinyMCE, вам, возможно, придется сделать какой-то беспорядочный обходной путь, когда вы удаляете узлы при загрузке и пытаетесь повторно вставить их в то же положение при сохранении.

Единственное преимущество, которое я вижу, заключается в том, что в других браузерах вы, неосознанно, удаляете скрытые узлы, просто выбирая текст с обеих сторон узла.

TinyMCE загружает контент, в частности, блоки, содержащие display:none.

knowncitizen 12.01.2009 01:00
Ответ принят как подходящий

Это потому, что внутри редактируемого элемента IE делает все, включая элементы, скрытые с помощью display: none, редактируемые. Вы ничего не можете с этим поделать, кроме как удалить элементы, которые вы хотите скрыть из DOM страницы.

Здесь есть ссылка на такое поведение IE: http://msdn.microsoft.com/en-us/library/aa770023%28VS.85%29.aspx

Спасибо, с тех пор я нашел эту статью, но стоит отметить. Спасибо.

knowncitizen 22.08.2009 00:59

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