小编Luc*_*uca的帖子

等待用户事件

我正在开发一个 javascript 类(使用 jQuery)来创建自定义弹出窗口,但我不知道如何“暂停”脚本以等待用户响应(单击“确定”按钮或取消)

班级是这样的:

function Popup()
{
}

Popup.Show = function(text)
{
    var _response;
    /* code to draw the popup elements*/

    $("#button-ok").on("click",function()
    {
        _response = "ok!"
    }

    return _response
}
Run Code Online (Sandbox Code Playgroud)

例如,如果在警报中使用它,该方法总是返回“未定义”,因为它不等待用户点击

alert(Popup.Show("hello"))
//return undefined before the popup appears
Run Code Online (Sandbox Code Playgroud)

我尝试使用这样的 while 循环:

Popup.Show = function(text)
{
    var _response;
    var _wait = true;

    /* code to draw the window */

    $("#button-ok").on("click",function()
    {
        _wait = false;
        _response = "ok!"
    }

    while(_wait){};

    return _response
}
Run Code Online (Sandbox Code Playgroud)

但不起作用(如我所料)

那么,如何等待用户点击呢?

谢谢大家

javascript jquery events popup wait

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

events ×1

javascript ×1

jquery ×1

popup ×1

wait ×1