Uikit로 confirm레이어를 띄우고싶은데 처리가 쉽지않네요...

alert 는 성공했는데 confirm 이 문제네요. 자바스크립트 고수님 부탁드립니다 ㅠㅠ

 

 

/* Register Confirm */

window.layerConfirm = function(msg, properties){
    var msg = msg;
    if (msg == "undefined" || msg == null || msg == '') return;
    else msg = msg.replace(/\<br\>/g, /\<br \/\>/g, "\n");
    
    UIkit.modal.confirm(msg).then(function () {
        alert('테스트(FALSE)');//확인시 작동할 함수
    },function () {
        alert('테스트(FALSE)');//캔슬시 작동할 함수
    });
}

layerConfirm = window.layerConfirm;
confirm = layerConfirm;
window.confirm = layerConfirm;

(function($){
  $(window).load(function() {
    window.confirm = layerConfirm;
    confirm = layerConfirm;
  });
  $(document).ready(function() {
    window.confirm = layerConfirm;
    confirm = layerConfirm;
  });
})(jQuery);

  • ?
    코드가 굉장히 난해하네요.
    (function($){ 안에 $(document).ready()가 안에 들어있는다던지..
    무엇을 하시려는지 정확히 알수가 없네요.

    jQuery안에서도
    window.confirm = layerConfirm;
    confirm = layerConfirm;
    변수에 넣기 바쁘네요.

    그냥 가장 편하게 일단 jQuery.on() 이벤트를 통해서

    UIkit.modal.confirm(msg).then(function () {
    alert('테스트(FALSE)');//확인시 작동할 함수
    },function () {
    alert('테스트(FALSE)');//캔슬시 작동할 함수
    });
    부터 실행되는지 확인해보심이 좋을거 같네요.
  • ? profile

    기존 confirm함수를 무조건 uikit 으로 실행시키고 싶습니다. 어쩌면좋을까요??

  • profile ?
    기존것을 변경하는건 좋아보이진 않지만.. 제가 아래에 올린 코드에서 대체 가능한지 모르겠네요.

    한번도 이런생각을 해본적이 없어서 ㅎㅎ

    $(document).ready(function() {
    window.confirm =layerConfirm. doConfirm(msg)
    //클릭이 있다면 jQUery의 on() 대체하세요.
    }
  • ?
    var layerConfirm = {
    
        doConfirm : function(msg, properties){
            var msg = msg;
            if (msg == "undefined" || msg == null || msg == '') return;
            else msg = msg.replace(/\<br\>/g, /\<br \/\>/g, "\n");
        
            UIkit.modal.confirm(msg).then(function () {
                alert('테스트(FALSE)');//확인시 작동할 함수
            },function () {
                alert('테스트(FALSE)');//캔슬시 작동할 함수
            });
        }
    
    }
    
    $(document).ready(function() {
        layerConfirm. doConfirm(msg)
        //클릭이 있다면 jQUery의 on() 대체하세요.
    }

     

     

    몇몇 변수 넣는 부분은 이해가 안되서 빼버렸습니다. 

     

    저라면 저렇게 코딩했을거 같습니다.

     

     

  • ? profile

    모든 confirm을 uikit confirm 모달로 변경하고싶습니다.

     

    샘플링.png

  • ?
    var layerConfirm = {
    
    doConfirm : function(msg, properties){
    var msg = msg;
    if (msg == "undefined" || msg == null || msg == '') return;
    else msg = msg.replace(/\<br\>/g, /\<br \/\>/g, "\n");
    
    UIkit.modal.confirm(msg).then(function () {
    alert('테스트(FALSE)');//확인시 작동할 함수
    },function () {
    alert('테스트(FALSE)');//캔슬시 작동할 함수
    });
    }
    
    }
    // function window.confirm(str) {
    //  execScript('n = msgbox("' + str + '","4132")', "vbscript");
    //  return (n == 6);
    // }
    window.confirm = function (msg){
    layerConfirm.doConfirm(msg);
    }
    
    
    
    
    confirm('Do you really want to do so');

     

     

    이렇게 한번 해보세요.

     

    별거 아니었네요;;ㅋㅋㅋㅋ

     

     

     

  • ? profile
    오 일단 불러는 와집니다. 결과값 리턴은 어떻게 돌려줘야할까요??
    그리고 confirm이 연달아 실행되는경우 에러가 나는거 같습니다.
    Gjworks 자바스크립트 엄청 잘하시네요 부럽습니다 ^^
  • ?

    jQuery 필요 없어요. 그냥 UIkit 가지고만 한거에요

  • ?

    현실적으론 불가능에 가깝네요. 결론적으로 api를 제공하지 않은거 같습니다. 그냥 해당 이벤트 일어났을때 강제로 띄운것밖에 안되는 것이고요.

  • ? profile
    그렇군요 ㅠㅠ 안타까운 현실인거 같습니다 ㅠㅠ