How can I open a link in a new window?

How can I open a link in a new window?

I have a click handler for a specific link, inside that I want to do something similar to the following:
window.location = url

I need this to actually open the url in a new window though, how do I do this?

Solutions/Answers:

Solution 1:

You can like:

window.open('url', 'window name', 'window settings')

jQuery:

$('a#link_id').click(function(){
  window.open('url', 'window name', 'window settings');
  return false;
});

You could also set the target to _blank actually.

Solution 2:

Here’s how to force the target inside a click handler:

$('a#link_id').click(function() {
    $(this).attr('target', '_blank');
});

Solution 3:

you will need to use window.open(url);

references:
http://www.htmlcodetutorial.com/linking/linking_famsupp_120.html
http://www.w3schools.com/jsref/met_win_open.asp

Solution 4:

You can also use the jquery prop() method for this.

$(function(){
  $('yourselector').prop('target', '_blank');
}); 

Solution 5:

I just found an interesting solution to this issue. I was creating spans which contain information based on the return from a web service. I thought about trying to put a link around the span so that if I clicked on it, the “a” would capture the click.

But I was trying to capture the click with the span… so I thought why not do this when I created the span.

var span = $('<span id="something" data-href="'+url+'" />');

I then bound a click handler to the span which created a link based on the ‘data-href’ attribute:

span.click(function(e) {
    e.stopPropagation();
    var href = $(this).attr('data-href');
    var link = $('<a href="http://' + href + '" />');
    link.attr('target', '_blank');
    window.open(link.attr('href'));
});

This successfully allowed me to click on a span and open a new window with a proper url.

Solution 6:

What’s wrong with <a href="myurl.html" target="_blank">My Link</a>? No Javascript needed…