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