我在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>
多次,使用不同的网址,链接到网站中的各个网页。
我试图尽可能地描述,但我毫无疑问错过了某些重要信息,所以请问我是否不清楚。
答案 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>