我知道懸停在一個元素上導致另一個元素獲得一個添加到它的新類。如何查看Chrome上的eventListener的內容和位置? Chrome中的Event Listeners
標籤只列出文檔中的某些偵聽器,而不是任何特定的元素。如何在Chrome Dev Tools中查找事件偵聽器?
0
A
回答
1
要查看事件偵聽您選擇了一個單一的元素,確保取消選中了「祖先」框的事件監聽器選項卡。如果選中,您將看到該元素的祖先的所有事件偵聽器 - 這可能是您現在看到的。
懸停並沒有真正另一個類添加到一個元素,它觸發了它可以用CSS僞類選擇有針對性的元素的懸停狀態。這不是一個事件監聽器,但是可以添加事件監聽器來檢測元素上的鼠標指針(請參閱答案的結尾)。這裏是針對與任何段落標籤的懸停狀態的一個示例:hover僞類選擇:
p:hover {
background: blue;
color: white;
}
<p>Hover me</p>
<p>Or hover me</p>
在鉻DevTools,可以強制元件上的懸停狀態,以查看其懸停狀態行爲。爲此,請單擊樣式窗格右上角的:hov按鈕,然後選中:懸停框。如果該元素有任何僞類:懸停式樣規則,則它們現在將顯示在樣式窗格中,並且該元素將在視口中相應地更改。
有事件偵聽器,如「鼠標懸停」和「鼠標移開」,它們一起使用時,將仿真懸停狀態行爲。但是,請注意,這些與懸停狀態無關 - 因此在DevTools中強制懸停狀態不會導致這些事件偵聽器觸發。如果這些事件偵聽器出現在您正在檢查的元素上,它們將顯示在事件偵聽器選項卡中 - 只要記住要在檢查具有大量事件偵聽器的頁面時取消選中「祖先」框。
2
1
所以,如果我理解正確的話:給定元素A和B,當你將鼠標懸停在B,一類被添加到A,然後當你將鼠標懸停在客場被類刪除。
由於該類被應用於不同的元素,聽起來好像是用mouseover
和mouseout
事件實現的,而不是CSS :hover
僞類。
var a = document.getElementById('a'),
b = document.getElementById('b');
b.addEventListener('mouseover', function() {
a.classList.add('hover');
});
b.addEventListener('mouseout', function() {
a.classList.remove('hover');
});
.hover {
background-color: red;
}
<p id="a">element that the class get's added to</p>
<p id="b">element that you hover over</p>
在這種情況下,選擇在DevTools的DOM樹將鼠標懸停在元素:
再檢查mouseover
和mouseout
事件在事件監聽器選項卡:
點擊js:23
和js:19
鏈接,您可以檢查處理程序的定義。
相關問題
- 1. 如何在Chrome Dev Tools中查看Backbone特定事件偵聽器?
- 2. Chrome Dev-Tools Bug?
- 3. Chrome刪除事件偵聽器?
- 4. 在瀏覽器中偵聽事件在JavaScript中查找窗口
- 5. 事件偵聽器
- 6. 如何更新chrome擴展中的onBeforeRequest事件偵聽器?
- 7. 如何查找DOM元素上的事件偵聽器列表?
- 8. 將事件偵聽器傳遞給事件偵聽器?
- 9. 事件偵聽器在evently
- 10. 如何在node.js事件偵聽器中獲取事件名稱?
- 11. flash as3檢查事件偵聽器
- 12. 更新:如何在原型中的DOM節點上查找事件偵聽器?
- 13. ZF3 onRoute事件偵聽器
- 14. 如何刪除事件偵聽器?
- 15. 如何「範圍」事件偵聽器?
- 16. Android - 如何偵聽器系統事件?
- 17. 如何刪除事件偵聽器?
- 18. []如何附加事件偵聽器?
- 19. 如何停止YUI事件偵聽器
- 20. 如何簡化javascript事件偵聽器?
- 21. 事件偵聽器如何工作?
- 22. 事件偵聽器5
- 23. reactjs事件偵聽器window.resize
- 24. 在onCreate中添加事件偵聽器
- 25. 蠟染事件偵聽器
- 26. 如何在標記的事件偵聽器中使用事件偵聽器,其事件在偵聽時在兩個函數之間切換?
- 27. 如何使用JavaScript在DOM節點上查找事件偵聽器
- 28. 事件偵聽器添加到文檔中對元素存在檢查,然後添加事件偵聽器
- 29. 在動作偵聽器偵聽事件後,Java gui不打印
- 30. 如何找出哪個事件偵聽器已經觸發