Man, I can understand people writing Firefox-hating demos if they're trying to show off some feature that recently landed in WebKit, I can almost understand it if they just did a weekend-hack and couldn't be bothered testing in any browsers other than their own.
I can't understand this - in 2013, how on earth do you break mouse events in JavaScript? We've had events like onmousedown working reliably across browser implementations for a decade or more, what on earth is going on?
The click handler is registered on the canvas and it checks e.offsetX. On Firefox, some people use e.layerX, but it's not exactly the same thing [0]. Someone posted a useful polyfill on JQuery's bugtracker [1].
Firefox should just support offsetX as well, but they don't, for whatever reason.