What I'm assuming is happening here is that the even tied to the <a> tag is firing as well as the click tied to the cell.
It appears as though two windows are opened because the page you're currently on goes to the PDF and a new window is opened with the PDF. The easiest solution would be to add return false; to the bottom of the click function. You currently have the return false inside the each function. This isn't working due to scope. $('#factsheets td').click(function() { $(this).find('a').each(function(){ window.open(this.href); return false; }); return false; // stop the link from redirecting the page }); This would do it, and is unobtrusive as well. Though, since there is only one <a> inside the cell, you might consider rewriting your code a little bit. Something more like: $("#factsheets").find("td").click( function () { window.open( $(this).find("a").attr("href") ); // open the PDF return false; // prevent the link from redirecting } ); Hopefully this makes sense to you. Thanks, Matt On Wed, Jan 13, 2010 at 5:38 PM, pedalpete <p...@hearwhere.com> wrote: > > Hi Bill, > > I'm still learning lots, and was hoping you could better explain what > was wrong with my solution (as it seems the other solutions are FAR > more complicated. > > What I was trying to acheive was to just disable the link for > javascript enabled browser, and keep it enabled for those without > javascript. > > As the link is inside the cell, and the javascript action is triggered > on any click within the cell, I believe my recommendation should work > well in all instances. > > I believe with .unbind('click'), the click on a link will not be > interpreted at all, and that the JS will always take the action. > > I may be misunderstanding what is happening under the covers, but what > I recommend does not unbind after a click, it would unbind the clicks > at load time if I've got it right. >