最简单的用jquery确认框插件

时间:2012-06-08 17:37:00

标签: javascript jquery html

我的HTML代码

<div id="delete">Delete</div>

我的javascript代码

$(function(){
$("#delete").click(function(){
var decision=decide("Do you really want to delete?");
});
});
function decide(str)
{
$("delete").after(str+'<button onclick="yes()">Yes</button><button onclick="no()">No</button>');
}
function yes(){return 1;}
function no(){return 0;}

目前我的是和否正在返回0/1,但我希望从决定函数返回0/1,具体取决于否/是。

2 个答案:

答案 0 :(得分:0)

您的代码是异步的。您将无法以这种方式将其分配给decision变量。

换句话说:您的decide函数会在用户点击任意按钮之前返回,并始终返回undefined

无论您要使用该布尔值做什么,都必须在yes / no个函数中执行。


以下是如何提供回调的快速示例:

$(function() {
    $("#delete").click(function(){
        decide("Do you really want to delete?", function(result) {            
            alert(result);
        });

        return false;
    });

    function decide(str, callback)
    {
        $('<div>'+str+'<button>Yes</button><button>No</button></div>')
            .insertAfter("#delete")

            .on('click', 'button', function() {
                var result = $(this).text() == 'Yes' ? true : false;
                console.log($(this).text(), result);

                callback(result);
            });
    }
});​

以下是演示:http://jsfiddle.net/x2Lf9/

答案 1 :(得分:0)

为什么不简单地使用jquery插件?

尝试即兴

http://trentrichardson.com/Impromptu/