check your pop-up blocker settings.
for IE 10 and prior, its detailed here - http://support.microsoft.com/KB/843016
and for IE 11, its detailed here - http://windows.microsoft.com/en-us/internet-explorer/ie-security-privacy-settings#ie=ie-11
Also, if you have changed your Windows "Security" settings within the "Internet Options" tab, you might want to revisit that by going back in to the menu and selecting "Reset all zones to default level"
1. Select Tools->Internet Options
2. From the "Internet Options" dialog box that appears, Click on the "Security" tab.
3. Click on "Reset all zones to default level"
3.Click on the "Custom Level" Button present at the bottom of the dialog box.
4. The "Security Settings" dialog box appears.
5. Scroll through the dialog box and find "Scripting"->"Active Scripting" and confirm that the radio button is enabled.
<a href="#"> is a common alternative which might arguably be less bad. However you must remember to return false from your onclick event handler to prevent the link being followed and scrolling up to the top of the page.
Otherwise, if a link points only to some script, it is not really a link and should not be marked up as such. The usual approach would be to add the onclick to a <span>, <div>, or an <a> without an href and style it in some way to make it clear you can click on it. This is what StackOverflow [did at the time of writing; now it uses href="#"].
The disadvantage of this is that you lose keyboard control, since you can't tab onto a span/div/bare-a or activate it with space. Whether this is actually a disadvantage depends on what sort of action the element is intended to take. You can, with some effort, attempt to mimic the keyboard interactability by adding a tabIndex to the element, and listening for a Space keypress. But it's never going to 100% reproduce the real browser behaviour, not least because different browsers can respond to the keyboard differently (not to mention non-visual browsers).
If you really want an element that isn't a link but which can be activated as normal by mouse or keyboard, what you want is a <button type="button"> (or <input type="button"> is just as good, for simple textual contents). You can always use CSS to restyle it so it looks more like a link than a button, if you want. But since it behaves like a button, that's how really you should mark it up.