Я пытаюсь получить activeTarget события selectionChange в IE11, когда использую встроенный поиск для просмотра совпадений. В Firefox и Edge следующий код будет записывать элемент, ближайший к тому месту, где он находится. Таким образом, вход «test test» вернет элемент link.
В IE11 журнал всего события будет содержать элемент привязки в target -> activeElement, но когда вы попытаетесь его зарегистрировать, он будет регистрировать в event.target.activeElement элемент body, в который будет записываться лог.
Кто-нибудь знает, что может происходить и / или как обойти эту проблему? Помогает высоко ценится.
HTML:
<html>
<body>
<div class="block display-option-100 expandedblock">
<div class="expand-block block__generic-body" data-expandblock>
<div class="block__row">
<div tabindex="0" class="expand-block__clickable-row" role="tab" aria-controls="114428">
<h2 class="block__heading expand-block__heading ">H55445DEerpfsdfdfs</h2>
<span class="expand-block__statuslabel" data-nojs-hidden>
<span class="statuslabel__open"></span>
<span class="statuslabel__close"></span>
</span>
</div>
<div id="114428" class="expand-block__content" data-expandblockcontent role="tabpanel" aria-expanded="false">
<p><a title="Här testar vi" href="/testi/">Testitesti Rapport</a></p>
<p> </p>
<p><a href="test">herpderp test test</a><br><a href="herp derp">test test jfdsnjdnjf <br></a><a href="fdgfdghfgfdfdg">test tastdsoin tstest</a><br><a href="gfdgfdgfdgfd">yat yat yat yta ggdsggd</a></p>
</div>
</div>
</div>
</div>
</body>
</html>
JavaScript
document.addEventListener("selectionchange", function(e) {
console.log("Selection-change Log");
//e.stopPropagation();
console.log(e);
console.warn(e.target.activeElement);
});