阻止點擊事件
阿新 • • 發佈:2017-05-09
uil return 阻止冒泡 fun 是我 false pro ole def
有的時候我們實現功能時,會遇到種種問題需要阻止事件進行,比如 ul 與 li 同時綁定了個方法,但是點擊後功能並不一樣,這時候我們如果只點擊 ul 還好,只會觸發 ul 的方法,但如果點擊 ul 下的 li 的話,li 方法觸發後,會進行冒泡,而後觸發 ul 方法,這並不是我們想要的~
那我們有三種方式來阻止事件進行:
1、最簡單的,在 function 中,直接進行 return false; 它會取消默認行為並阻止事件冒泡。很強大,只要用了這個啥事件都不會出發了。。。
<button onclick="clickLi(event, this)" id=‘1‘>click </button> <script> function clickLi(event, ele) { return false; } </script>
2、使用 event.preventDefault(); 取消默認行為。不會阻止冒泡。這個默認行為指的是瀏覽器的默認行為。
(示例代碼 building 中 ...)
3、還可以使用 event.stopPropagation(); 這個是會阻止冒泡的。
<ul onclick=‘clickC(event, this)‘> <li onclick="clickC(event, this)" id=‘1‘>1 click </li> <li onclick="clickC(event, this)" id=‘2‘>2 click </li> </ul> <script> function clickC(event, ele) { event.stopPropagation(); console.log(‘get :‘, ele); } </script>
應用場合還是有很多的,我就不再舉例子啦。
阻止點擊事件