<div onclick="parentBubble()">
<p id="showp">點(diǎn)我阻止冒泡</p>
</div>
1. 獲取dom元素
x = document.getElementById("showp");
1-1)方式如下可以獲取到mouseEvent
x.addEventListener('click', function stopBubble(ev) {
console.log(ev); //可以獲取到mouseEvent
ev.stopPropagation(); //阻止冒泡,非IE方法
}, false/true);
1-2)方式如下也可以獲取到
x.addEventListener('click', stopBubble,false/true);
function stopBubble(ev) {
alert(ev); //可以獲取到mouseEvent
ev.stopPropagation();
}
1-3)下面也可以
x.onclick = function(ev) {
console.log(ev); //可以獲取到mouseEvent
ev.stopPropagation();
}
2. 在DOM元素中添加onclick="stopBubble()",注意此處括號必須加,否則不執(zhí)行,此時(shí)方法中是獲取不到mouseEvent的,但是可以獲取到window的event,如下設(shè)置:
function play() {
var ev = window.event;
console.log(ev);
}
還可以在方法中加入event參數(shù) onclick="stopBubble(event)",像這樣
function stopBubble(ev){
console.log(ev); //可以獲取到
}
3. jquery中? 答案是可以的。
3-1).click
$(function() {
// debugger;
$('#showp').click(function(ev) {
alert(ev) //可以獲取到mouseEvent
})
})
3-2) .on
$(function() {
// debugger;
$('#showp').on('click', function(ev) {
alert(ev); //可以獲取到mouseEvent
})
})
4. vue中@click="func($event)"
function func(ev){
alert(ev); //可以獲取到mouseEvent
}