【前言】
在網(wǎng)頁(yè)設(shè)計(jì)中,經(jīng)常會(huì)碰到需要阻止子元素事件冒泡的場(chǎng)景。比如一個(gè)父元素綁定了點(diǎn)擊事件,但是子元素也綁定了點(diǎn)擊事件,點(diǎn)擊子元素時(shí),會(huì)同時(shí)觸發(fā)子元素和父元素的點(diǎn)擊事件,這時(shí)就需要阻止子元素事件冒泡。
jQuery提供了阻止事件冒泡的方法,接下來(lái)我來(lái)介紹一下。
【如何阻止子元素事件冒泡】
jQuery提供了e.stopPropagation()方法,可以阻止事件冒泡。下面是一段示例代碼:
<div id="parent">
<div id="child">點(diǎn)擊子元素</div>
</div>
<script>
$("#parent").click(function(){
console.log("點(diǎn)擊了父元素");
});
$("#child").click(function(e){
console.log("點(diǎn)擊了子元素");
e.stopPropagation();
});
</script>
在這段代碼中,我們綁定了父元素和子元素的點(diǎn)擊事件,當(dāng)點(diǎn)擊子元素時(shí),會(huì)同時(shí)觸發(fā)子元素和父元素的點(diǎn)擊事件。
為了阻止子元素點(diǎn)擊事件冒泡,我們?cè)谧釉攸c(diǎn)擊事件中添加了e.stopPropagation()方法。
這時(shí),再次點(diǎn)擊子元素,會(huì)發(fā)現(xiàn)只觸發(fā)了子元素的點(diǎn)擊事件,父元素的點(diǎn)擊事件沒(méi)有被觸發(fā)。
【總結(jié)】
通過(guò)以上示例代碼,我們可以看到,使用jQuery阻止子元素事件冒泡,非常簡(jiǎn)單。只需要在子元素事件中添加e.stopPropagation()方法即可。
當(dāng)然,也可以使用e.preventDefault()方法阻止瀏覽器默認(rèn)行為,這個(gè)可以在其他場(chǎng)景中使用,這里就不再贅述了。
希望大家能夠掌握這個(gè)方法,讓網(wǎng)頁(yè)交互更加靈活、方便。上一篇java 雙精度和單精度
下一篇html照片平鋪的代碼