我使用以下代码作为javascript中确认框的替换。
function fancyAlert(msg) {
jQuery.fancybox({
'modal' : true,
'content' : "<div style=\"margin:1px;width:240px;\">"+msg+"<div style=\"text-align:right;margin-top:10px;\"><input style=\"margin:3px;padding:0px;\" type=\"button\" onclick=\"jQuery.fancybox.close();\" value=\"Ok\"></div></div>" }); }
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>",
onComplete : function() {
jQuery("#fancyConfirm_cancel").click(function() {
ret = false;
jQuery.fancybox.close();
})
jQuery("#fancyConfirm_ok").click(function() {
ret = true;
jQuery.fancybox.close();
})
},
onClosed : function() {
if (typeof callback == 'function'){ callback.call(this, ret); };
}
});
}
function fancyConfirm_text() {
fancyConfirm("Ceci est un test", function(ret) {
alert(ret)
})
}
我正在使用这样的超链接:
<a href="http://www.example.com/" onclick="fancyConfirm("Are you sure you want to delete?");">Test</a>
我卡住了,它只是不会显示任何东西?,我认为它与fancyConfirm所需的回调变量有关,但我不确定这意味着什么以及它是如何应用的。
感谢您的帮助。
答案 0 :(得分:2)
您的链接属性中存在错误。您不能在双引号内放置双引号而不转义它们。现在,你的onclick属性只是:“fancyConfirm(”
尝试:
<a href="http://www.example.com/" onclick="fancyConfirm('Are you sure you want to delete?');">Test</a>
或者:
<a href="http://www.example.com/" onclick="fancyConfirm(\"Are you sure you want to delete?\");">Test</a>
答案 1 :(得分:0)
你需要这个:
<a href="#" onclick="fancyConfirm('Are you sure you want to delete?');return false;">Test</a>
那应该有用。哈希(#)不会显示在网址中,因为return false;
只会使onclick
中的内容发生。
另外,我知道这很明显,但是你在页面上定义了Fancybox和jQuery吗?
答案 2 :(得分:0)