2013-06-17 43 views
6

Trong hầu hết các trang, nếu bạn thực hiện một hành động nào đó (như chỉnh sửa, tạo) và khi tôi cố gắng thoát, nó chủ yếu nhắc tôi nếu tôi thực sự muốn thoát. Hộp thoại cung cấp cho tôi hai tùy chọn: để lại hoặc hủy và tiếp tục. Làm thế nào để bạn thực hiện điều này trong JavaScript? Tôi có phải sử dụng một phần tử meta không? Và vui lòng không đề cập đến beforeunload, trừ khi đó là cách thực sự và duy nhất để thực hiện việc này. xác nhận trước khi thoát hộp thoại

+0

kiểm tra: http://www.w3schools.com/js/tryit.asp?filename=tryjs_confirm – rags

+0

@rags Không trên xác nhận hộp một mình, xác nhận hộp khi bạn cố gắng để thoát khỏi trang. – slice

Trả lời

15

Tại sao không đề cập đến onbeforeunload? Nó được xây dựng theo cách để làm như vậy, và tôi không thấy một vấn đề bằng cách sử dụng nó.

function myConfirmation() { 
    return 'Are you sure you want to quit?'; 
} 

window.onbeforeunload = myConfirmation; 
+1

Điều này tạo ra hộp thoại mặc định của trình duyệt để lại hoặc ở lại hộp thoại. Nếu bạn muốn một cái gì đó fancier, bạn có thể có chức năng đó gọi lên một hộp thoại jQuery hoặc Fancybox ví dụ, và trả về 'true' hoặc' false' dựa trên những gì xảy ra trong hộp thoại fancier đó. – casraf

+0

Cảm ơn bạn, trình duyệt trên điện thoại di động của tôi đã tạo ra hộp thoại chính xác. – slice

+0

Hãy đánh dấu phần này là được chấp nhận rồi :) – casraf

-3
window.onbeforeunload = function() { 
     if(confirm('are you sure to exit?')) 
      return true; 
     else 
      return false; 
}; 
+0

@Gaurav Cảm ơn bạn đã in đẹp. – slice

+0

Alex, điều này dẫn đến hộp thoại trùng lặp. – slice

+0

oh ja ... điều đó không tốt lắm), nhưng chức năng của tôi hiển thị văn bản: D .... –

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