Я пытаюсь создать некоторый javascript, который, когда объект добавляется в окно, прослушиватель прослушивает любой щелчок по телу, за исключением размещенного объекта, и удаляет объект, если в любом месте окна, кроме самого фактического объекта, щелкнут.Z-Index на абсолютном позиционированном элементе показывает выше высших элементов Z-индекса
В результате многочисленных неудачных попыток идея, которую я придумал, заключается в динамическом добавлении наложения div на экран с именем overlay2 (или что-то еще, это не имеет значения), а затем прослушивание кликов на этом div. Когда я добавляю наложение в окно и устанавливаю zIndex на большее число, чем верхний элемент, уже размещенный (скажем, 5000), а затем установите zIndex единственного объекта, который будет помещен над наложением, на еще большее число (скажем, 6000) , наложение по-прежнему появляется поверх всего, и я не могу выбрать какой-либо из объектов в div, который я хотел разместить над ним.
var overlayDiv = document.createElement('div');
overlayDiv.setAttribute('id', 'overlay2');
overlayDiv.style.zIndex = '5000';
overlayDiv.style.width = '100%';
overlayDiv.style.height = '100%';
overlayDiv.style.left = '0';
overlayDiv.style.top = '0';
overlayDiv.style.position = 'absolute';
document.body.appendChild(overlayDiv);
$(container).append(template);
template.style.zIndex = '6000';
//Listeners
//Page click listener. Closes the tool when the page is clicked anywhere but inside the parent.
var initialClick = false;
$('body').on('click.editObjectListeners', function(event) {
var target = EventUtility.getTarget(event);
if(initialClick) {
console.log(target.id);
if(target.id == 'overlay2' && target.id != '') {
$(overlayDiv).remove();
finish();
};
}
initialClick = true;
});
Я определил, что это имеет отношение к абсолютному позиционированию overlayDiv. Во время тестирования, если я использовал абсолютное позиционирование для размещения шаблона, и если я добавлю объект шаблона непосредственно к телу, как я сделал overlayDiv, zIndex работает над overlayDiv, как я и предполагал. К сожалению, абсолютно позиционирование этого элемента для меня не имеет смысла, кроме тестирования. Есть ли способ обойти это?
IMHO, следуйте KISS, держите свои вопросы короткими .. – Baz1nga
Эй, где находится контейнерный элемент? Вы присвоили свойство позиции элемента шаблона? – AmGates
все назначено и работает правильно, кроме индекса z. даже индекс z присваивается, но он не действует так, как должен. bazinga я appologize для моего вопроса, но в целом я думаю, что он был довольно коротким и точным. ваш комментарий действительно никак не помогает. – ryandlf