the larger problem with javascript linking is, the 'new tab' problem. On windows and linux center clicking the mouse on a link opens a new tab and does not focus on it. most javascript does not simulate this behavior.
This is a good point and does actually show that allowing hrefs in any tag could be a solution where an anchor won't do. Also you cannot simulate right click options as you'll either get a new tab or a new window at best.
What if you dynamically insert an a element on the mouse-down event?