【问题标题】:Jquery UI modal dialog will autoOpen but not click openJquery UI 模态对话框将自动打开但不会单击打开
【发布时间】:2014-03-13 22:17:17
【问题描述】:

尽管无论搜索措辞如何似乎都会被询问一百万次,但似乎可以找到确切的问题。所以,“专业人士”的另一个问题。打开对话框相对容易,是的。我创建了一个示例页面来测试代码并确保它有效,并且确实有效。然后我在 click 事件中添加了一个 alert() ,哇!它无法识别点击,但它会在示例页面上。点击事件...

$( "a#newDialog" ).click(function() {
    $( "#dialog" ).dialog('open');
    alert('Button Clicked');
    return false;
});

示例页面和实际页面的区别在于链接本身

<a name="node02" id="newDialog" href="#">OpenDialog</a>

我缩小的范围是链接如何到达页面。在示例页面中它是静态的。在实际页面中,它是通过一个 ajax 调用来获取的,该调用获取一个包含链接标记的 json 文件。所以它必须与无法访问对话功能有关。它是否正确?我该怎么做呢?当我们这样做时,我需要知道如何从链接中获取 name="node2" 并将其包含到 ajax 调用的对话框中。

【问题讨论】:

    标签: php jquery ajax json dialog


    【解决方案1】:

    基本上,您的问题是,当您分配点击处理程序时,该链接不存在,因此它不会“绑定”到该链接并且实际上是无用的。你需要使用 jquery 'on':https://api.jquery.com/on/

    假设您的链接包含在父元素#parentContainerId 在您分配点击处理程序时存在于 DOM 中。在这种情况下,您可以使用上面链接中描述的委托事件。

    $( "#parentContainerId" ).on('click', 'a#newDialog', function() {
        $( "#dialog" ).dialog('open');
        alert('Button Clicked');
        return false;
    });
    

    【讨论】:

    • 难以置信,我什至知道!很明显,咖啡已经用完了,我现在必须休息一下。感谢您的帮助
    • 考虑一下 - 你:妻子!给我煮咖啡。 (老婆不在家)……(老婆回家) 你:你怎么不给我煮咖啡?妻子:我猜我没收到消息 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 2010-10-30
    • 2022-01-21
    • 2011-08-31
    相关资源
    最近更新 更多