我有一个奇怪的问题,我会尽力解释。我有一个标题,在标题中有一个菜单。当站点首次加载时,它会加载main.php,如果单击菜单中的链接打开对话窗口,则不会发生任何事情。但是,如果我导航到另一个页面,该链接将起作用。我无法理解为什么会发生这种情况,因为当标题加载时菜单正确加载。如果有人能就我可以尝试的事情提出一些建议,我将不胜感激。这种情况在所有浏览器中都会发生。感谢
html代码
<div class="col_1">
<h3>Boxes</h3>
<ul>
<li><a href="#" class="BA">Add Box(es)</a></li> <!-- This is the culprit. -->
<li><a href="/domain/admin/requests/boxes/index.php">Administration</a></li>
</ul>
</div>
jquery代码
$(function(){
$("a.BA").click(function(){
$("#boxaddform").dialog('open');
});
});
答案 0 :(得分:2)
使用preventDefault
覆盖您设置为href
属性的值:
$("a.BA").click(function(e){
e.preventDefault();
$("#boxaddform").dialog('open');
});
编辑:
看了你的小提琴之后,重要的是你再做一件事 - 在调用open
之前初始化对话框,如下所示:
$("#boxaddform").dialog({
autoOpen: false
});
您无法在不存在的open
上致电dialogbox
。
更新了演示:http://jsfiddle.net/hungerpain/TrScN/8/
OR,
只需将$("#boxaddform").dialog("open");
替换为$("#boxaddform").dialog();
即可使其按预期方式运作。
答案 1 :(得分:1)
尝试使用live或on function。
$(document).live/on('click','a.BA',function(){
// your code
});