【问题标题】:Incorporate javascript into href tag将javascript合并到href标签中
【发布时间】:2013-02-11 21:14:08
【问题描述】:

对这类事情有点不知所措,但如果有人能提供帮助,我将不胜感激。

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

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

连同一些额外的代码,让下拉列表的内容出现在 iframe 中,并根据内容调整所述 iframe 的大小(即消除滚动条和其他讨厌的东西)

但是表达式不允许嵌套下拉列表很容易,我不得不尝试不同的方法。

我需要多次将上述代码合并到:&lt;li&gt;&lt;a href="#"&gt;Some Text Here&lt;/a&gt;&lt;/li&gt; 中,使用不同的 url,链接到站点内的各个页面。

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

【问题讨论】:

  • 你为什么要Javascript?
  • HTML 不允许使用 SELECT 嵌套下拉菜单,无论如何。
  • 抱歉,您的实际问题是什么?你描述了你的设置和你尝试过的一些事情,但我不知道你在问什么。
  • SLake2 - 我想要 Javascript,因为这是我发现做我需要的唯一方法。如果有一个简单的替代方案,我会很乐意使用它 Diodeus - 如果有解决方法 ben336,则不必使用 SELECT - 我实际上没有提出任何我尝试过的建议,问题是我如何合并根据链接到的页面调整 iframe 窗口大小的 javascript。

标签: javascript html anchor cascadingdropdown


【解决方案1】:

如果我理解正确,您只需要单击锚标记即可运行一些 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>

【讨论】:

  • 有效!非常感谢你,你不知道你让我免了多少潜在的心痛!
  • 哦,不,它不能正常工作...生成的 iframe 有一个滚动条,这是我一开始就试图避免的
  • 为什么鼓励使用onclick 属性?我会指出提问者编写不显眼的 JavaScript...
  • 您可以在 window.open 调用中指定更多内容。可以通过指定滚动条=yes|no|1|0 来删除滚动条,如 W3Schools 中所指定。这是链接:link
  • @user2062729:您应该使用target="main" 属性而不是Javascript。
猜你喜欢
  • 1970-01-01
  • 2016-07-13
  • 1970-01-01
  • 1970-01-01
  • 2014-07-31
  • 2013-06-24
  • 2014-07-17
  • 2012-03-04
  • 2018-09-13
相关资源
最近更新 更多