我的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,具体取决于否/是。
答案 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);
});
}
});
答案 1 :(得分:0)