2012-02-22 78 views
5

Gần đây tôi đã đăng câu hỏi mới trong How jQuery can prevent reopening a new window?. Tại bài đăng đó, tôi đã đề cập đến nhu cầu của mình về điều gì đó trên khóa F2.
Bây giờ tôi muốn hỏi một câu hỏi khác tương tự như câu hỏi trên; Lần này để nhấp vào liên kết.
Tôi có liên kết mở một cửa sổ mới bằng cách sử dụng window.open. Tôi muốn ngăn người dùng mở lại cửa sổ mới khi anh ấy nhấp vào danh sách nếu cửa sổ trước đó vẫn mở.làm thế nào để ngăn chặn mở lại cửa sổ mới bằng cách sử dụng jQuery?

Đề xuất của bạn là gì?

Trả lời

5

Bạn có thể làm:

 

var childWin; 
    function winOpen(url) 
    { 
     //check if child window is already open 
     if (childWin &! childWin.closed && childWin.focus){ 
      childWin.focus(); 
     } else { 
      childWin = window.open(url,'','width=800,height=600'); 
     } 
    } 
 

Ý của bạn là một cái gì đó như thế này

+0

Không có cửa sổ mới đang đến. Ngay cả khi chúng ta nhấp vào liên kết lần đầu tiên, nó sẽ mở trong cùng một cửa sổ. –

6

Bạn có thể thử này, nó sẽ giúp bạn mở và quan sát nhiều cửa sổ, kiểm tra here

Javascript

var windows = {}; 
$('a').click(function(e){ 
    var url = $(this).attr('href'); 
    var name = $(this).attr('id'); 
    if(windows.hasOwnProperty(name) && !windows[name].closed) 
    { 
     windows[name].focus(); 
    } 
    else 
    { 
     windows[name]=window.open (url,name,"status=1,width=300,height=300"); 
    }  
}); 

Liên kết của bạn

<a href="http://google.com" id="google">Google</a> 
<a href="http://yahoo.com" id="yahoo">Yahoo</a>​ 

DEMO.

+2

Điều này làm việc hoàn hảo. –

+1

Rất tốt! Cảm ơn bạn ! – Zl3n

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