私は空想を実装しようとしています。いいえ確認し、必要に応じてコールバックを取得するのに問題があります。以下の例はFancybox v2を使用しています。FancyboxのJavascript/Jqueryコールバック
#fancyConfirm_ok
をクリックしたときにHREF
"テスト"がクリックされ、呼び出されていないときに関数 "do_something"が呼び出されているという問題があります。
function fancyConfirm(msg,callback) {
var ret;
jQuery.fancybox({
'modal' : true,
'content' : "<div style=\"margin:1px;width:240px;\">"+msg+"<div style=\"text-align:right;margin-top:10px;\"><input id=\"fancyconfirm_cancel\" style=\"margin:3px;padding:0px;\" type=\"button\" value=\"Cancel\"><input id=\"fancyConfirm_ok\" style=\"margin:3px;padding:0px;\" type=\"button\" value=\"Ok\"></div></div>",
'afterShow' : function() {
jQuery("#fancyconfirm_cancel").click(function() {
ret = false;
//jQuery.fancybox.close();
$.fancybox.close();
})
jQuery("#fancyConfirm_ok").click(function() {
ret = true;
jQuery.fancybox.close();
})
},
'afterClose' : function() {
if (typeof callback == 'function'){
callback.call(this, ret);
} else {
var callback_type = typeof callback;
alert(callback_type);
}
}
});
}
<a href="#" onclick="fancyConfirm('Are you sure you want to delete?', do_something('a', 'b'));return false;">Test</a>
あなたは[jsfiddle](http://www.jsfiddle.net)を提供してくださいだろうか? – Neysor