gpt4 book ai didi

javascript - javascript创建div上的点击事件

转载 作者:行者123 更新时间:2023-11-30 09:50:23 27 4
gpt4 key购买 nike

我这里有一个html

<div style="width: 200px;height:200px;padding:50px;background-color: lightcyan" id="maindiv" onclick="subdiv()"></div>

以及用于创建分割的 javascript 函数

function subdiv() {
var p = document.getElementById('maindiv');
var s = document.createElement('div');
s.setAttribute('id','subdiv');
p.appendChild(s);
var s2 = document.getElementById('subdiv');
s2.style.height = '100px';
s2.style.width = '100px';
s2.style.backgroundColor = 'green';
}

在这里,我在 document.getElementById('subdiv') 之外做一个事件:

document.addEventListener('click',function() {
alert('hello world');
});

如何避免单击分割区域时出现警报('hello world') react ,以及如何避免每次在分割区域外点击时都出现 EXACTLY ONCE?我喜欢没有 jquery 的可能的简单响应。 https://jsfiddle.net/hx2u6j35/谢谢。

最佳答案

div 标签没有正确附加到 maindiv,所以我自己创建并防止子标签调用父函数

function subdiv() {
var p = document.getElementById('maindiv');
var s = document.createElement('div');
s.setAttribute('id', 'subdiv');
s.setAttribute('onclick', 'return false;');
p.appendChild(s);
var s2 = document.getElementById('subdiv');
s2.style.height = '100px';
s2.style.width = '100px';
s2.style.backgroundColor = 'green';
}

document.addEventListener('click', function() {
alert('hello world');
});

$("#subdiv").on('click', function(e) {
alert("subdiv");
return false; //THIS WON'T CALL PARENT FUNCTION OR YOU CAN USE e.stopPropagation
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="width: 200px;height:200px;padding:50px;background-color: lightcyan" id="maindiv" onclick="subdiv()">
<div id="subdiv" style="height:100px;width:100px;background-color:green"></div>
</div>

关于javascript - javascript创建div上的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36881919/

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