使占位符中的所有按钮具有相同的单击事件触发器

时间:2013-03-21 17:53:39

标签: javascript asp.net html vb.net

我有占位符

<div class="main2" id="divAgentMenu" runat="server">
    <ul class="nav sf-menu">
        <asp:PlaceHolder ID="phAgentMenu" runat="server"></asp:PlaceHolder>        
    </ul>
</div>

它后面的代码中加载了链接按钮。不幸的是,此时我无法访问生成按钮的代码,因此向按钮添加内容(如ID)是不可行的。(如果这是唯一的解决方案,那么我有时间看看是否可以获得该按钮然而,改变了) 只是为了让事情变得更有趣,我需要知道触发了哪个按钮,所以我可以生成正确的链接。(是的,我可以按原样生成链接,但这是一个昂贵的操作,所以我宁愿只在需要) 我希望有一种方法可以将onclick应用于占位符或表单,但我无法使用任何方法

生成的代码,来自运行时。

<ul class="nav sf-menu">

    <li class="home-li"><a class="home-link" onclick="popup(&#39;popUpDiv&#39;)" href="http://..."><img class="home-icon" src="Images/home_icon.png" alt="home" />Home&nbsp;&nbsp;</a><ul><li><a onclick="popup(&#39;popUpDiv&#39;)" href="http://...">Activity</a></li><li><a onclick="popup(&#39;popUpDiv&#39;)" href="http://...">My Profile</a></li></ul></li><li><a onclick="popup(&#39;popUpDiv&#39;)" href="http://...">Submission&nbsp;&nbsp;</a><ul><li><a onclick="popup(&#39;popUpDiv&#39;)" href="http://...">New Submission</a></li><li><a onclick="popup(&#39;popUpDiv&#39;)" href="http://...">Manage Submission</a></li><li><a onclick="popup(&#39;popUpDiv&#39;)" href="http://...">Bind Eligible Quotes</a></li></ul></li><li><a onclick="popup(&#39;popUpDiv&#39;)" href="http://...">Search&nbsp;&nbsp;</a></li><li><a href="http://..." target="_blank">Reporting&nbsp;&nbsp;</a>

</ul>

生成的代码(url因过长而删除。)(它们有效) 基本上,它是一系列花哨的按钮,每个按钮都链接到某个地方。遗憾的是,由于处理时间(链接生成方法涉及连接多个数据表,某些加密......),我需要在按下按钮之后计算链接,而不是之前的链接。

好的,经过进一步研究后,似乎唯一的方法是将所有链接按钮指向另一个页面,传递所需信息。另一页获取该信息,生成最终链接,然后重定向到该链接。

当然,这有点麻烦,因为我实际上是一个菜单,指向一个网关,它指向另一个网关,可能会指向另一个网关,然后到达那里。

1 个答案:

答案 0 :(得分:0)

根据您的评论,听起来您想要计算在执行默认链接行为并重定向页面之前单击链接时要转到的实际链接。你可以这样做:

$('#phAgentMenu').find('a').live('click', function(e) {
    e.preventDefault(); //this prevents the link from redirecting
    //now calculate your link
    var linkDestination = yourLinkCalculation();
    window.location.href = linkDestination;
});