【问题标题】:Why would simpledialog dialog not pop up?为什么不会弹出 simpledialog 对话框?
【发布时间】:2012-02-12 18:27:26
【问题描述】:

我正在使用 simpledialog 库 (http://dev.jtsage.com/jQM-SimpleDialog/) 并包含所有必要的 JS 和 CSS 文件,但是我无法显示弹出窗口。我究竟做错了什么?我没有看到弹出窗口。

$.ajax({

                        type: "post",
                        url: url,
                        data: $("#login").serialize(),
                        dataType: 'json',
                        success: function (msg) {

                        var message = msg.message;
                            if (message.type == "Success") {
                                window.location.replace("reminder_list.html");

                            } else if (message.type == "Error") {


        alert("login error"); //THIS SHOWS

 $(this).simpledialog({ //THIS DOES NOT SHOW
            'mode': 'bool',
            'prompt': 'Login Failed: ' + message.content,
            'buttons': {
                'OK': {
                    click: function () {
                        $('#dialogoutput').text('OK');
                    }
                }
            }
        })
    }

【问题讨论】:

  • 我们需要更多细节,请发布html
  • 这段代码附加到什么事件和元素上?
  • 我已经更新了我的代码以显示它在 ajax 调用的成功处理程序中被调用。

标签: javascript jquery jquery-mobile dialog


【解决方案1】:

更新:我能够通过不使用“this”关键字并将其替换为实际页面 div 来使其工作。不知何故,simpledialog 变得混乱和/或这不是它需要的。感谢所有对此进行调查的人。

【讨论】:

  • Simpledialog 必须附加到 DOM 中的某些内容。当附加到点击事件时,有时存储在“this”关键字中的内容确实是一个 DOM 元素。在您的示例中,此时可能是 Ajax 函数的本地范围 - 无论如何,提供实际元素将是可行的方法。
猜你喜欢
  • 2011-07-26
  • 1970-01-01
  • 2014-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多