Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 背景上的dragend StopperPagation在Chrome 36中不起作用_Javascript_Google Chrome_D3.js_Stoppropagation - Fatal编程技术网

Javascript 背景上的dragend StopperPagation在Chrome 36中不起作用

Javascript 背景上的dragend StopperPagation在Chrome 36中不起作用,javascript,google-chrome,d3.js,stoppropagation,Javascript,Google Chrome,D3.js,Stoppropagation,考虑这个例子: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Sandbox</title> <script src="http://d3js.org/d3.v3.min.js"></script> </head> <body> <div id="vis"></d

考虑这个例子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Sandbox</title>
    <script src="http://d3js.org/d3.v3.min.js"></script>
</head>
<body>
<div id="vis"></div>
<script>
var svg = d3.select("#vis")
    .style({position: "fixed", width: "100%", height: "100%"})
    .append("svg")
    .style({margin: "3%", border: "1px solid #aaa"})
    .attr("viewBox", "0 0 1000 600")

svg.on("click", function (d, i) {
    console.log("click")
    if (d3.event.defaultPrevented)
        return
    console.log("click fell through")
})

svg.append("rect")
    .attr("x", 0).attr("y", 0).attr("width", "50%").attr("height", "50%")
    .call(d3.behavior.drag()
        .on("dragstart", function (d) {
            console.log("dragstart")
            d3.event.sourceEvent.stopPropagation()
            // d3.event.sourceEvent.preventDefault()
        })
    )
</script>
</body>
</html>

沙箱
var svg=d3。选择(“可视”)
.style({位置:“固定”,宽度:“100%”,高度:“100%”)
.append(“svg”)
.style({边距:“3%”,边框:“1px实心#aaa”})
.attr(“视图框”,“0 0 1000 600”)
svg.on(“单击”,函数(d,i){
console.log(“单击”)
if(d3.event.defaultPrevented)
返回
console.log(“单击失败”)
})
svg.append(“rect”)
.attr(“x”,0).attr(“y”,0).attr(“宽度”,“50%”)。attr(“高度”,“50%”)
.call(d3.behavior.drag())
.on(“dragstart”,功能(d){
console.log(“dragstart”)
d3.event.sourceEvent.stopPropagation()
//d3.event.sourceEvent.preventDefault()文件
})
)
在矩形上开始拖动,在背景上结束拖动。在Chrome 36中,背景咔哒声不会被抑制,也不会被阻止。这不是我所期望的,也不是Firefox31所做的。有人能解释一下浏览器行为的不同,并为Chrome提供一个解决方案吗


另外:我是否使用stopPropagation()在这两种浏览器中似乎没有任何区别。为什么会这样?

请摆好小提琴