2011-08-22 117 views
0

我想创建一个菜单栏将保留哪些被点击通过改变菜单的背景颜色菜单中的信息。如何检测一个链接被点击,即使页面被重定向

<div class="dashboard_navigation"> 
    {% for header in headers %} 
      <div class="navigation_header" name="Home"> 
       <a id='a' href="{{ header.url }}">{{ header.name }}</a> 

       <div class="navigation_subheader"> 

         {% for subheader in subheaders %} 
          {% if header.id == subheader.parent.id %} 
           <div> 
            <a href="{{ subheader.url }}" >{{ subheader.name }}</a> 
           </div> 
          {% endif %} 
         {% endfor %} 
       </div> 
      </div>  
    {% endfor %} 

我使用的脚本如下

$(".navigation_header").live('click', function() 
    {   
     $(this).children('a').css("background-color","red"); 

    }); 

我在做什么错?信息中提供的信息是否足够,或者我应该添加什么内容?

+0

如果我到了那里,不是因为我点击了一个链接,但因为我去直接的网址是什么?服务器应根据用户所在的当前页面构建并突出显示导航。这不是JavaScript的真正的工作。 – deceze

+0

'“我应该添加一些东西” - 是的,如果你展示了这么多的服务器代码,就适当地标记问题。在这种情况下,我添加了ASP标签,是否正确? –

回答

0

当您点击链接时页面即将被重定向,所以即使您将一个点击事件处理程序附加到其父页面div,由于该页面将被重定向,因此它不起作用。

您可以存储链接点击一个cookie当前用户会话。在页面加载时读取cookie值并相应地设置背景颜色。

你可以看看这里 http://plugins.jquery.com/project/Cookie

0

每个div.navigation_header都有一个唯一的名称的jQuery插件的cookie,像 “首页”,对不对? (如果他们不要那么给他们一个!)

你的服务器还应该知道哪个页面与每个名称对应。所以,它会为该页面编写一个样式。

例如,对于首页页面,它会写:

div.navigation_header[name=Home] a { 
    background-color: red; 
} 

否则,你将不得不使用cookie或URL参数。

相关问题