Jquery UI模式对话框将自动打开但不会单击打开

时间:2014-03-13 22:17:17

标签: php jquery ajax json dialog

虽然看起来似乎已经被问了一百万次,但无论搜索措辞似乎找到了确切的问题。那么,“专业人士”的另一个问题。打开对话框相对容易,是的。我创建了一个示例页面来测试代码并确保它能够正常工作,而且确实如此。然后我为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调用的对话框中。

1 个答案:

答案 0 :(得分:1)

基本上你的问题是当你分配你的点击处理程序时,链接不存在,所以它不会“绑定”到那个链接,实际上是没用的。你需要使用jquery'on':https://api.jquery.com/on/

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

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