当调用openModal时,如何获得success
而不是undefined
?
function deleteImg(model, name, id) {
return 'success';
}
function openModal(model, name, id){
$('#button').show();
$('#button').on('click', function() {
// console.log( deleteImg(model, name, id) );
return deleteImg(model, name, id);
})
}
console.log(openModal(1,2,3));
#button {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="button">
Button
</button>
我也尝试过使用$.when().done()
;
function openModal(model, name, id){
var status;
$.when(
$('#button').show(),
$('#button').on('click', function() {
// console.log( deleteImg(model, name, id) );
status = deleteImg(model, name, id);
})
).done(
function(){
return status;
}
)
}
由于
答案 0 :(得分:1)
你可以使用回调模式,只需将一个函数作为回调函数传递,然后从点击监听器中调用它。
function deleteImg(model, name, id) {
return 'success';
}
function openModal(model, name, id, cb){
$('#button').show();
$('#button').on('click', function() {
// return deleteImg(model, name, id);
cb(deleteImg(model, name, id));
})
}
openModal(1,2,3, function (res) {
console.log(res);
});