所以我遇到了问题 - 我有一个功能,当有人点击菜单时,它会显示一个div标签。见这里 -
$("a#cat").click(function() {
$("div#categoryBox").show();
return false;
});
到目前为止一切都很好,div内容显示出色,但问题是div内容中有按钮(标签),删除和编辑,当我点击其中一个按钮时,div标签隐藏。按钮链接是 -
<a href="?action=edit&id=<?php echo $id; ?>"> and <a href="?action=delete&id=<?php echo $id; ?>">
如果我按下其中一个链接,div内容会自动隐藏,我需要再次按下id为#cat的按钮。除非我按不同的菜单链接或刷新页面,否则有没有办法让它停留?
如果您需要任何其他信息,请询问。
答案 0 :(得分:1)
当您单击编辑/删除链接时可能会重新加载页面,因此您认为div被隐藏了。如果您在edit
和delete
上执行任何客户端实施,则应确保阻止默认行为或这些链接。试试这个。
$('#categoryBox a').click(function(e){
e.preventDefault();
});
答案 1 :(得分:0)
有几种方法可以做到这一点。如果满足某些条件,最简单的方法是在页面加载时重新显示div。
如果您想在每次网址为?action=edit
或?action=delete
时显示div,请使用以下内容:
$(function () {
if (/\baction=(edit|delete)\b/.test(location.search)) {
$("div#categoryBox").show();
}
});
或者,当您想要显示div时,可以附加哈希参数:
<a href="?action=edit&id=<?php echo $id; ?>#showCategoryBox">edit</a>
<a href="?action=delete&id=<?php echo $id; ?>#showCategoryBox">delete</a>
$(function () {
if (location.hash === "#showCategoryBox") {
$("div#categoryBox").show();
}
});