【发布时间】:2018-01-26 00:52:41
【问题描述】:
所以我和我的朋友一起为谷歌浏览器做一个扩展,对于大多数功能(即日历、设置等),我们打开一个模式,这样我们就不必重定向到另一个页面。当您在内容之外单击时,我们正在尝试关闭模式。这是一个小标记屏幕截图,可让您了解我在说什么。
我希望能够通过在白色区域之外单击来关闭模式。目前,即使我在白色区域内单击它也会关闭。我已经尝试了几乎所有方法,包括 stopPropagation()、pointer-events:none; 和 jquery 禁用。他们都没有因为我不知道的原因而工作。我猜 Chrome 扩展程序有些奇怪。
到目前为止,这是我的一些代码:
function calendar() {
document.getElementById("calendmodal").style.display = "block";
}
document.addEventListener("DOMContentLoaded", function () {
document.getElementById("calendicon").addEventListener("click", calendar);
document.getElementById("calendmodal").addEventListener("click", closeModal);
document.getElementById("calendmodal").addEventListener("click", function(event) {
event.stopPropagation();
});
});
还有 HTML:
<div class="icons" id="icons_calendar">
<img src='https://preview.ibb.co/jE76Bm/calendar.png' alt="calendar" border="0" id="calendicon"/>
</div>
<div id=calendmodal class="generalmodal">
<div class="modal-content" id="calendcontent">
<iframe src="https://calendar.google.com/calendar/embed?src=googleapps.wrdsb.ca_ptpdj55efmhg1nb89ruc15fi3k%40group.calendar.google.com&ctz=America%2FToronto" style="border: 0" width="800" height="600" frameborder="0" scrolling="no" visibility="hidden" id="calendiframe"></iframe>
<p id=infostuff>For a more extensive calendar and<br>more school tools, visit <a href="http://jam.wrdsb.ca">The SJAM Website</a>.</p>
</div>
</div>
不太确定我做错了什么,我不知道如何在扩展中做到这一点。
【问题讨论】:
标签: javascript html css google-chrome-extension event-bubbling