javaScript tips —— z-index 对事件机制的影响
生活随笔
收集整理的這篇文章主要介紹了
javaScript tips —— z-index 对事件机制的影响
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
demo
// DOM結構 class App extends React.Component {componentDidMount() {const div1 = document.getElementById('div1');const div2 = document.getElementById('div2');const div3 = document.getElementById('div3');// 捕獲階段處理div1.addEventListener('click', () => {console.log('div1 capturing');}, true); div2.addEventListener('click', () => {console.log('div2 capturing');}, true);div3.addEventListener('click', () => {console.log('div3 capturing');}, true); // 冒泡階段處理div1.addEventListener('click', () => {console.log('div1 bubbling');}, false);div2.addEventListener('click', () => {console.log('div2 bubbling');}, false);div3.addEventListener('click', () => {console.log('div3 bubbling');}, false);}render() {return (<div id="div1" className="div1" ><div id="div2" className="div2" ><div id="div3" className="div3"></div></div></div> );} }ReactDOM.render(<App />, mountNode); // css 代碼 .div1 {display: flex;width: 500px;height: 500px;border: 1px solid red;background: red; }.div2 {display: flex;width: 400px;height: 400px;background: green; }.div3 {width: 200px;height: 200px;background: blue;// z-index: -1; }?
1.? div3 沒有 z-index: -1 點擊藍色塊(div3)
?
?
2.?div3 沒有 z-index: -1 點擊藍色塊(div3)
?
?
結論:
1. z-index沒有影響DOM結構
2. z-index形成了層疊上下文,導致觸發事件的元素不一樣,上文的demo來說: div3加上z-index: -1后, div2位于他的上方,此時,即使點擊div3所在的位置,仍然觸發的是div2,所以,根據事件先捕獲后冒泡的的機制: div1 -> div2 -> div2 -> div1,因為事件機制并不會往觸發事件的元素的后代繼續傳播
3. z-index 會影響觸發事件的元素,并不會影響事件機制的本身。
?
相關姿勢:
z-index:
?
flex與z-index的關系
《深入理解CSS中的層疊上下文和層疊順序》
《z-index和auto margins在flex布局中是如何工作的》
轉載于:https://www.cnblogs.com/nanchen/p/10118599.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的javaScript tips —— z-index 对事件机制的影响的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员只拿到5千工资吐槽无法生活,网友:
- 下一篇: Spring源码窥探之:xxxAware