svg mouseup event not fired in IE9, unless the debugger is open
        Posted  
        
            by 
                Roberto Lupi
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Roberto Lupi
        
        
        
        Published on 2011-11-17T09:47:58Z
        Indexed on 
            2011/11/17
            9:50 UTC
        
        
        Read the original article
        Hit count: 272
        
I am using d3 to build a simple chart that the user can edit interactively with the mouse.
It works on in all modern common browser (Chrome, Firefox, Safari), except for Internet Explorer 9 where I can start to drag an item but I never get the mouseup event.
The strangest bit is that, if I open the debugger, the page works percetly on Internet Explorer 9 as well.
My code looks like this:
item.append("svg:circle")
    .attr("class", "handle")
    .attr("opacity",0.5)
    .attr("stroke","gray")
    .attr("cx", bx(0.5)-bx(0))
    .attr("r", 10)
    .style("cursor", "crosshair")
    .style("pointer-events", "all")
    .call(d3.behavior.drag()
        .on("dragstart", function() {
            dragTarget = d3.select(this);
        })
        .on("drag", function() {
            this.parentNode.appendChild(this); // put us on the front, not really needed
            var dragTarget = d3.select(this);
            dragTarget
                .attr("cy", function() { return d3.event.dy + parseInt(dragTarget.attr("cy"))});
        })
        .on("dragend", function(d, i) {
            newY = parseInt(d3.select(this).attr("cy"));
            newValue = y.invert(newY);
            var serieNo = this.__data__.serieNo;
            console.log([serieNo+1,i+1]);
            data[serieNo+1][i+1] = newValue;
            updateBarChart();
            onchange();
        })
    );
© Stack Overflow or respective owner