표준 확인 대화 상자가 jq 대체되었습니다.jQuery wrapping 지연 및 약속
사용자가 확인을 클릭하면 호출 될 함수를 전달할 수 있습니다.
전달 된 함수는 ajax 호출과 같이 장기 실행 비동기 태스크를 호출 할 수 있습니다. 가끔씩 둘 다 처리하려고합니다. MyConfirmation
MyConfirmation('A Title', 'A message to the user', function() {
$.get('/some/bigdata/longrunning');
}
).then(function() {
// add to dom here
});
이는 다음과 같습니다 :
MyConfirmation = function (title, message, ok) {
var d = $.Deferred();
$('<div/>')
.text(message)
.dialog({
buttons: {
"Ok": function() {
if($.isFunction(ok)) {
ok.apply();
}
$(this).dialog("close");
d.resolve(true);
return true;
},
"Cancel": function() {
$(this).dialog("close");
d.resolve(false);
return false;
}
},
close: function(event, ui) {
$(this).remove();
},
resizable: false,
draggable: false,
width: 'auto',
title: title,
modal: true
});
return d.promise();
};
내가 이상적를 원하는
내가 도심이 솔루션을 사용(https://stackoverflow.com/a/19374933)
는 내가 달성하고자하는 것은이 같은 것입니다 사용자가 확인을 클릭했는지 취소했는지를 나타내는 true 또는 false를 반환하는 지연과 결합합니다.
은 내가 약속에되는 .done 방법은 $ 갔지에서 반환 사용할 수 있습니다 알고 있지만 어떻게 내가
나는 단지 내 자신의 대답을 받아 들인 것으로 표시하고 훨씬 더 우아한 해결책을 읽었습니다. 게다가 나는 이것으로부터 무언가를 배웠다. 감사. –