2015-05-26 10 views
1

Я пытаюсь переопределить окно подтверждения javascript с помощью SweetAlert. Я тоже исследовал об этом, но я не нашел подходящего решения.Переопределить окно подтверждения javascript

Я использую confirm как этот

if (confirm('Do you want to remove this assessment') == true) { 
    //something 
} 
else { 
    //something 
} 

И я использую это для подмены

window.confirm = function (data, title, okAction) { 
       swal({ 
        title: "", text: data, type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Yes", cancelButtonText: "No", closeOnConfirm: true, closeOnCancel: true 
       }, function (isConfirm) { 
        if (isConfirm) 
        { 
         okAction(); 
        } 
       }); 
       // return proxied.apply(this, arguments); 
      }; 

Теперь подтвердить поле заменяется sweetalert. Когда пользователь нажимает на кнопку Yes, тогда вызывается OK action подтверждения. Но это не вызывает

И В приведенном выше коде произошла ошибка Uncaught TypeError: okAction is not a function.

Просьба предложить мне, что я должен сделать для отмены подтверждения.

ответ

1

Поскольку обычай реализация не вызывает блокировку, вам нужно вызвать его как

confirm('Do you want to remove this assessment', function (result) { 
    if (result) { 
     //something 
    } else { 
     //something 
    } 
}) 


window.confirm = function (data, title, callback) { 
    if (typeof title == 'function') { 
     callback = title; 
     title = ''; 
    } 
    swal({ 
     title: title, 
     text: data, 
     type: "warning", 
     showCancelButton: true, 
     confirmButtonColor: "#DD6B55", 
     confirmButtonText: "Yes", 
     cancelButtonText: "No", 
     closeOnConfirm: true, 
     closeOnCancel: true 
    }, function (isConfirm) { 
     callback(isConfirm); 
    }); 
    // return proxied.apply(this, arguments); 
}; 
+0

Мой разработка проекта почти завершена, и в целом код подтверждения используется, как это 'если (подтвердить («что-то»)) {} 'или' if (confirm ("something") == true) 'Я хочу, чтобы одна функция переопределила это, и я не могу изменить все поля подтверждения, такие как ваш код. Поэтому, пожалуйста, скажите что-нибудь подобное. – Manoj

+0

@Manoj Я думаю, вы не можете заблокировать поток, как confirm() do. – Sebastiano

 Смежные вопросы

  • Нет связанных вопросов^_^