gpt4 book ai didi

javascript - 如何在 Javascript 中停止传播

转载 作者:行者123 更新时间:2023-11-29 15:40:31 25 4
gpt4 key购买 nike

我已经看遍了,无法完全理解我做错了什么。

我只希望父元素在单击子元素时不触发(更改不透明度)。

感谢简单的答案!

谢谢

HTML
<div id="not-clicker">
<div id="clicker" onClick="clickBox();">
</div>
</div>

JAVASCRIPT
function clickBox(event) {
document.getElementById('clicker').style.backgroundColor = 'green';
event.stopPropagation();
};

JSfiddle (不能正常工作)

最佳答案

这不会捕获事件。您将需要一个事件处理程序来执行此操作。因此,您需要重构以避免使用内联 javascript

html 更改

<div id="clicker"></div>

js 变化

document.getElementById('clicker').onclick = function(event){
document.getElementById('clicker').style.backgroundColor = 'green';
//this.style.backgroundColor = 'green';note you can also use this to reference the element now
event.stopPropagation();
};

编辑

更多信息

请注意,由于不再内联,因此脚本必须在元素位于 DOM 中之后运行。为此,您需要将脚本放在页面的较低位置,或等待窗口的加载事件触发。这是一个例子

window.onload = function(){//this callback executes when the window is fully loaded
//now we can guarantee all DOM elements are present
document.getElementById('clicker').onclick = function(event){
this.style.backgroundColor = 'green';
event.stopPropagation();
};
};

关于javascript - 如何在 Javascript 中停止传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19910890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com