2013-03-01 53 views
32

Tôi có một ứng dụng web hiển thị các hàng có các nút godelete.mở tab mới (cửa sổ) bằng cách nhấp vào liên kết trong jquery

Nếu người dùng nhấp vào go, nó sẽ mở tab/cửa sổ mới có url được tạo từ dữ liệu của hàng.

làm cách nào tôi có thể thực hiện điều này trong jquery? Những gì tôi đang làm là:

$('.go').click(function() { 
    var wid = {{ wid|tojson|safe }}; 
    var sid = $(this).prop('id'); 
    url = $script_root + '/' + wid + '/' + sid; 

    // go to url 
}); 

một số cập nhật:

động được những gì tôi đang thực sự Tring để thực hiện cập nhật href của một phần tử <a>.

<a id="foo" href="#">foo</a> 
<script type="text/javascript> 
$('#foo').click(function() { 
    $(this).prop('href', 'http://www.google.com/'); 
}); 
</script> 

mà không làm việc (fiddle: http://jsfiddle.net/6eLjA/)

+0

không phải là mã jQuery.? –

+0

bạn có thể cung cấp "_blank" trong khi gọi đến window.open –

+0

Truy cập http://stackoverflow.com/questions/7554108/javascript-window-location-in-new-tab –

Trả lời

85

Hãy thử điều này:

window.open(url, '_blank'); 

này sẽ mở trong tab mới (nếu mã của bạn là đồng bộ và trong trường hợp này nó được. trong trường hợp khác nó sẽ mở một cửa sổ)

+0

Ý của bạn là gì nếu * mã của bạn là đồng bộ * ? – VisioN

+6

@VisioN Mã này sẽ không mở tab mới: $ .get ('someurl', function() {window.open ('anotherurl', '_blank');}), nó sẽ mở một cửa sổ vì yêu cầu ajax không đồng bộ bởi mặc định (bạn có thể thay đổi nó) – karaxuna

+1

Tôi nhận được một cảnh báo trong google chrome nói rằng đã bị chặn một "Pop up". Bất kỳ trợ giúp với điều này? Có cách nào để vượt qua nó không? – RPDeshaies

Các vấn đề liên quan