2011-11-08 43 views
13

Tôi có một nút html mà tôi muốn đóng cửa sổ hiện tại khi được nhấp. Tôi nghĩ rằng tôi có thể chỉ cần thiết lập các tính năng onclick như tôi đã làm dưới đây. Tui bỏ lỡ điều gì vậy?Nút HTML Đóng Cửa sổ

<button type="button" onclick="javascript:window.close()">Discard</button> 

Trả lời

28

Khi thuộc tính onclick bạn không cần chỉ định là javascript.

<button type="button" 
     onclick="window.open('', '_self', ''); window.close();">Discard</button> 

Điều này sẽ thực hiện. Để đóng nó, trang của bạn cần được mở bởi kịch bản, do đó window.open. Dưới đây là một bài báo giải thích này một cách chi tiết: http://www.yournewdesigner.com/css-experiments/javascript-window-close-firefox.html

+1

Cảm ơn đó là lời khuyên tốt nhưng vấn đề thực tế là tôi là một moron. Đã lãng phí thời gian vì tôi đã thử nghiệm một tệp khác với tệp tôi đang chỉnh sửa. Wow ... Cảm ơn lời khuyên tốt! – jcmitch

+0

đẹp ... Tôi sẽ phải sử dụng lần sau tôi phải viết một kịch bản tạo 130 cửa sổ mới –

+0

Vâng, chắc chắn dường như phá vỡ toàn bộ điểm không cho phép một lệnh 'window.close()' thô. –

11

javascript chỉ có thể đóng một cửa sổ nó mở

1

Tôi biết chủ đề này đã được trả lời, nhưng một giải pháp khác có thể hữu ích đối với một số người, đặc biệt đối với những người có nhiều trang mà họ muốn có nút này , là cung cấp cho đầu vào một id d đặt mã trong một tệp JavaScript. Sau đó, bạn có thể đặt mã cho nút trên nhiều trang, chiếm ít không gian hơn trong mã của bạn.

Đối với các nút:

<input type="button" id="cancel_edit" value="Cancel"></input> 

trong tệp JavaScript:

$("#cancel_edit").click(function(){ 
     window.open('','_parent',''); 
     window.close(); 
    }); 
2

Sử dụng mã dưới đây. Nó hoạt động mọi lúc.

<button onclick="self.close()">Close</button> 

Nó hoạt động thời gian cho tôi trong Chrome và alse Firefox.

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