I had this working with following (after looking at the d3.svg.brush source code)
Adding this in the end of brushend listener.
d3.select("g.brush").style("pointer-events", "all").selectAll(".resize").style("display", "none");
d3.select("g.brush").select(".extent").style("display", "none");
d3.select("body").style("cursor", null);
And displaying back the extent in the brushstart.
d3.select("g.brush").select(".extent").style("display", "block");
Don't know if this is the best method.
-Gopal
--
Gopal vaswani