我發現這篇文章很有幫助,但這仍然不是我想要完成的任務:如何處理頁面中任意位置的點擊,即使某個元素停止傳播?
我將頁面分成幾個部分,以便您可以垂直滾動瀏覽我的水平頁面。每個部分占一整頁。
我在第 1 部分有一個視頻,我想觸發一個點擊事件,該事件在點擊該頁面上的任意位置時洗掉視頻并跳轉到第 2 部分,我已經通過以下內容實作了這一點。但是,如果我在我的 6 個頁面上單擊任何位置,現在這會觸發頁面跳轉,我只想在 id="main" 部分的視頻頁面上觸發它
有沒有更具體的方法?我試圖在第二行正文之前/之后將另一個 location.href 插入主頁,但這不起作用。
video = document.getElementById('video')
document.body.addEventListener('click', () => {
if (video.style.display === "block") {
} else {
video.style.display ="none" && (location.href ="#About")
}
},true);
uj5u.com熱心網友回復:
您可以在觸發操作之前檢查點擊目標的 id,如下所示:
video = document.getElementById('video')
document.body.addEventListener('click', ({ target }) => {
if (target.id === 'video') {
video.style.display = "none";
location.href ="#About";
}
}, true);
或者,您可以將點擊處理程式附加到您關心的元素上,從而避免過于頻繁地觸發處理程式,如下所示:
document.getElementById('video').addEventListener('click', ({ currentTarget }) => {
// `currentTarget` refers to the element the handler has been attached to
currentTarget.style.display = "none";
location.href ="#About";
}, true);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/488783.html
標籤:javascript 事件处理
