0

当涉及到这些事情时有点无能为力,但是如果有人能提供帮助,我将不胜感激。

我在 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>很多时候,使用不同的 url,链接到站点内的各个页面。

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

4

1 回答 1

0

如果我理解正确,您只需要单击锚标记即可运行一些 JS。如果是这样,您可以这样做:

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

最好也使用return false;点击处理程序,以防止默认点击操作,如果您将所需的 URL 放入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>
于 2013-02-11T21:19:05.033 回答