DOM 이벤트 전파 중지(stopPropagation)
d3.js에서 svg의 DOM 이벤트 전파를 멈추는 동작 예 (아래)를 찾았으므로 움직여 보았습니다. 녹색 원은 circle 만 마우스 클릭 이벤트를 수신하고 svg에 도달하지 못한다는 것을 오른쪽에 표시합니다.
d3_stopPropagation.html
<!DOCTYPE html>
<style>circle {stroke: #000;}</style>
<body bgcolor="#eee">
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var svg = d3.select("body").append("svg")
.style("float", "left")
.attr("width", 480)
.attr("height", 480)
.on("click", log("click svg"));
svg.append("circle")
.style("fill", "lightgreen")
.attr("cx", 200)
.attr("cy", 80)
.attr("r", 60)
.on("click", function() { d3.event.stopPropagation(); })
.on("click.foo", log("click circle")) // namespacing for events
svg.append("circle")
.style("fill", "lightblue")
.attr("cx", 200)
.attr("cy", 240)
.attr("r", 60)
.on("click.foo", log("click circle"))
var divlog = d3.select("body").append("div")
.style("float", "left")
function log(message) {
return function() {
divlog.append("p")
.text(message)
.style("background", "#ff0")
.transition()
.duration(2500)
.style("opacity", 1e-6)
.remove();
};
}
</script>
Reference
이 문제에 관하여(DOM 이벤트 전파 중지(stopPropagation)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kkdd/items/c7ed8cf6eca48cedd1d1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)