Я создал всплывающую подсказку, используя этот код из Jsfiddle: https://jsfiddle.net/joktrpkz/7/Как мне сделать ссылки внутри моего управляемого Javascript div?
var ele = document.getElementById('tooltip');
var sel = window.getSelection();
var rel1= document.createRange();
rel1.selectNode(document.getElementById('cal1'));
var rel2= document.createRange();
rel2.selectNode(document.getElementById('cal2'));
window.addEventListener('mouseup', function() {
if (!sel.isCollapsed) {
debugger;
var r = sel.getRangeAt(0).getBoundingClientRect();
var rb1 = rel1.getBoundingClientRect();
var rb2 = rel2.getBoundingClientRect();
ele.style.top = (r.bottom - rb2.top)*100/(rb1.top-rb2.top) + 'px'; //this will place ele below the selection
ele.style.left = (r.left - rb2.left)*100/(rb1.left-rb2.left) + 'px'; //this will align the right edges together
//code to set content
ele.style.display = 'block';
}
});
window.addEventListener('mousedown', function() {
ele.style.display = 'none';
});
Все отлично работает, но я заметил, что HTML ссылку на подсказке больше не работаю.
Я думаю, что событие mouseup влияет на ссылки, но я не уверен.
Что мешает ссылку работать и как я могу это исправить
Очень верно. Вы очень верны. Можете ли вы любезно предложить мне, как скрыть div на mouseclick вне div? –
Да, вот пример способа, которым вы можете это сделать, с jQuery. https://jsfiddle.net/joktrpkz/41/ – Ibrahim
Можете ли вы помочь мне с реализацией Javascript? JQuery не разрешен в проекте, над которым я работаю. –