i3bar sends those events (as JSON messages) to the stdin of the command specified in 'status_command' in your config which is responsible for displaying the content of your bar (usually i3status).
If the program above listens for them and can handle them, you can take advantage of those click events (which AFAIK i3status doesnt).
(disclamer : the part below is biased due to the fact that I'm the developer of py3status)
You can have a wrapper such as py3status take care of your i3status and bar seamlessly and benefit from click events easily. The provided modules examples can help you understand how, then everything is possible ! :)
I was willing to ask the same question. How to react on those clicks ? for instance I would like to open wicd when clicking the network i3status part.
@teto : you can now do it using py3status as described here : https://github.com/ultrabug/py3status/wiki/handle-i3status-and-i3bar-click-events
@Ultrabug Seen your py3status page, it only specifies mouse click on each module. Is there a way to handle a click event on any part of the i3bar, for example I got some empty space on my i3bar and I want to click on that and execute dmenu.
@phairland : AFAIK i3bar does not send any event message when you click on a blank part of your bar so the answer is no I'm afraid. If it did tho, it would be possible to implement it with the i3bar_click_events module ( https://github.com/ultrabug/py3status/wiki/handle-i3status-and-i3bar-click-events )
@Ultrabug Thank you for your answer. I just post a question, unsure if you answered it already...