用preventDefault()方法无法取消元素的点击事件
!(data/attachment/forum/202207/14/002328yowmmoxxxaxp0xqy.png)原网页中自带的SubscribeItem()点击事件
以下用preventDefault()方法无法取消
var Sub = document.querySelector('#SubscribeItemBtn');
Sub.addEventListener('click',(e)=>{
e.preventDefault();
})
on系列函数和addevent具体行为没研究过
但是都拿到dom元素了
直接删掉onclick不好吗
本帖最后由 steven026 于 2022-7-14 09:36 编辑
https://developer.mozilla.org/zh ... vent/preventDefault
我的理解是e.preventDefault()只能阻止浏览器默认事件(比如右键菜单)
如果你要阻止按钮点击事件需要改成
e.stopPropagation() //禁止向上冒泡
或
e.stopImmediatePropagation() //禁止剩余同类事件(先添加的无法禁止)
另外针对这种直接写在DOM标签上的onclick,可以直接用JS删除
document.querySelector('#SubscribeItemBtn').removeAttribute("onclick")
页:
[1]