-1

我在 header.php 中有一个菜单,在我加载的每个页面上都被称为包含。发生的事情是,如果我单击标题中具有绝对路径的链接,当我转到链接并加载 header.php 时,我尝试调用onclick()用作'#'href 的链接,但由于某种原因继承了指向我目前所在的文件夹。让我举个例子。

菜单结构:

要求

<ul>
      <li><a href="#" onclick="addbox();" class="BA">Add Box(es)</a></li>
      <li><a href="/domain/admin/requests/boxes/index.php">Administration</a></li>
   </ul>

文件

<ul>
     <li><a href="#" onclick="addfile();" class="BA">Add Fil(es)</a></li>
     <li><a href="/domain/admin/reports/boxin/index.php">Administration</a></li>
 </ul>

如果我在文件菜单中单击 Add Box(es) 链接,而不是链接到addbox();请求链接中的哪个链接,它会将链接显示为:/domain/admin/reports/boxin/index.php#。我该如何纠正这个。非常感谢

4

2 回答 2

1

首先,我认为你应该正确地表达你的问题。我不明白你想在这里说什么。

无论如何,我会尽量根据我的理解给出我的两分钱:

我认为您的 javascript 加载得不够早。因此,当一个人单击链接时,#他会被重定向到主页,#并附加到 url。

要解决这个问题,您应该添加:

onclick="return false;"

到每个链接以及您要调用的函数,其中包含一个#

此外,尝试在页面加载之前加载您的 javascript,方法是将您的脚本标记放在 head 部分。这不是一种简洁的方法,但在这种情况下会为您提供帮助。您可以稍后优化您的代码。

例如:

<ul>
 <li><a href="#" onclick="addfile(); return false;" class="BA">Add Fil(es)</a></li>
 <li><a href="/domain/admin/reports/boxin/index.php">Administration</a></li>
<ul>

我希望它有所帮助。

于 2013-11-02T15:35:50.037 回答
1

使用 void(0) 或 javascript:; 代替 #

像这样

<a href="javascript:;" onclick="addbox();" class="BA">Add Box(es)</a>

或者

<a href="javascript:void(0);" onclick="addbox();" class="BA">Add Box(es)</a>

于 2013-11-02T15:43:54.687 回答