将javascript合并到href标记中

时间:2013-02-11 21:14:08

标签: javascript html anchor cascadingdropdown

当涉及到这些事情时,有点无能为力,但如果有人能帮助我,我将非常感激。

我在ms表达式web中有一个嵌套的css垂直下拉菜单,之前我使用asp.net内置函数来创建一个下拉列表和以下内容:

<select size ="1" name="main10" onchange="window.open(this.options[this.selectedIndex].value,'main')"style="width: 290px">

以及一些额外的代码,以使下拉列表的内容显示在iframe中,并根据内容调整所述iframe的大小(即消除滚动条和其他恶意)

然而,表达式不允许容易嵌套下拉,我不得不尝试不同的方法。

我需要将上述代码合并到此:<li><a href="#">Some Text Here</a></li>多次,使用不同的网址,链接到网站中的各个网页。

我试图尽可能地描述,但我毫无疑问错过了某些重要信息,所以请问我是否不清楚。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你只需要点击一个锚标签来运行一些JS。如果是这样,你可以这样做:

<li><a href="#" onclick="your JS here;">Some Text Here</a></li>

来自点击处理程序的return false;也是一个好主意,以防止默认点击操作,如果您将所需的网址放在href属性中,该链接仍然可以正常工作已禁用JS的用户。所以把它与你的window.open

放在一起
<li><a href="http://xyz.com" onclick="window.open(this.href,'main');return false;">Some Text Here</a></li>

鉴于您打算拥有大量这些链接,您不希望在任何地方重复window.open(),所以:

<li><a href="http://x.com" onclick="return doOpen(this.href);">X Here</a></li>
<li><a href="http://y.com" onclick="return doOpen(this.href);">Y Here</a></li>
<li><a href="http://y.com" onclick="return doOpen(this.href);">Z Here</a></li>

<script>
function doOpen(url) {
    window.open(url, 'main');
    return false;
}
</script>