【发布时间】:2012-07-31 01:51:50
【问题描述】:
我正在使用smoke.js,它允许设置经典警报 javascript 窗口的样式。
您所要做的就是将.smoke 放在警报之前,即。 smoke.confirm()
我遇到的问题是 ok/cancel 回调,它对我不起作用。
这是网站显示的示例。
`您可以像使用 js alert() 一样实现这些...只需输入“smoke”。在它面前。
不过,confirm() 替代品的使用方式需要稍有不同:
smoke.confirm('You are about to destroy everything. Are you sure?',function(e){
if (e){
smoke.alert('OK pressed');
}else{
smoke.alert('CANCEL pressed');
}
});
我的代码是;
$(".upb_del_bookmark").click( function() {
if(smoke.confirm(delete_message)) {
var post_id = $(this).attr('rel');
var data = {
action: 'del_bookmark',
del_post_id: post_id
};
$.post(upb_vars.ajaxurl, data, function(response) {
$('.bookmark-'+post_id).fadeOut();
$('.upb_bookmark_control_'+post_id).toggle();
});
它显示了样式按钮和所有内容,但是当我单击“确定”时,它没有执行上述功能,没有任何反应。
所以我改写成
$(".upb_del_bookmark").click( function() {
if(smoke.confirm(delete_message, function(e))) {
if(e){
var post_id = $(this).attr('rel');
var data = {
action: 'del_bookmark',
del_post_id: post_id
};
$.post(upb_vars.ajaxurl, data, function(response) {
$('.bookmark-'+post_id).fadeOut();
$('.upb_bookmark_control_'+post_id).toggle();
});
}}
但是现在当我点击它时甚至不显示任何东西
我不是程序员,求救!!!!!!
如果您想尝试,请使用 david:123321 登录 latinunit.org,然后转到帖子并尝试将其添加到您的收藏夹
更新
我尝试了以下,它显示了窗口但它没有执行该功能;
$(".upb_del_bookmark").click( function() {
smoke.confirm(delete_message, function(e) {
if(e){
var post_id = $(this).attr('rel');
var data = {
action: 'del_bookmark',
del_post_id: post_id
};
$.post(upb_vars.ajaxurl, data, function(response) {
$('.bookmark-'+post_id).fadeOut();
$('.upb_bookmark_control_'+post_id).toggle();
});
}})
return false;
});
这里是烟雾脚本Link的js文件
当我点击取消以下节目时;
未捕获的类型错误:对象# 的属性“回调”不是 功能线:198 未捕获的类型错误:对象# 的属性“回调”不是 功能线:208
以下是烟雾脚本的那些行中的内容;
finishbuildConfirm: function (e, f, box)
{
smoke.listen(
document.getElementById('confirm-cancel-' + f.newid),
"click",
function ()
{
smoke.destroy(f.type, f.newid);
f.callback(false);
}
);
smoke.listen(
document.getElementById('confirm-ok-' + f.newid),
"click",
function ()
{
smoke.destroy(f.type, f.newid);
f.callback(true);
}
);
【问题讨论】:
-
好像你缺少右括号/括号
}); -
检查浏览器中的 javascript 错误,这可能会告诉您问题所在。
-
“允许设置经典警报 javascript 窗口的样式” - 不,它没有。内置的警报/确认功能无法设置样式,因此smoke.js 替代了类似的东西,但是(尽管smoke.js 网页最初声称)这不仅仅是在@987654333 前面添加
smoke.的问题@ 和confirm()调用,你实际上需要重构你的代码以允许对烟雾函数的异步处理。 -
@nnnnnn 我同意,smoke.js 网站具有误导性,导致了这里的混乱。
标签: javascript