【发布时间】:2021-03-04 03:37:12
【问题描述】:
我有一个带有几个菜单项的侧边导航菜单,每个菜单项都实现为 href 元素,例如:
<li><span><a href="page.jsp">Href text</a></span></li>
每个href调用一个具有某些功能的Jsp文件;在浏览器中,链接看起来是活动的且正确的:如果用户将鼠标光标移到链接上,鼠标光标将变为手形手指。 被调用的 Jsp 页面提供了一些输入元素,用户可以在其中输入一些数据并单击发送按钮。效果很好。
现在在一个菜单项中,我希望被调用的 Jsp 页面立即显示一些我必须从 servlet 检索的数据;不应通过单击该页面中的按钮来请求这些数据, 但在页面打开时立即出现。
我已通过以下方式实现:
<li><span><a onClick="method(); return false;">Hfref text</a></span></li>
所以当用户点击href时调用了一个javascript方法;该方法调用servlet,获取数据并显示它们,这是有效的。唯一缺少的一点是菜单项 似乎是不活动的:当用户在菜单项上移动鼠标光标时,鼠标光标不会改变。所以用户会假设菜单项文本不可点击。
我也试过了:
<li><span><a href="javascript:method()">Href text</a></span></li>
这确实调用了我的 javascript 方法,但是该方法无法访问可用的 HTML 元素(当我调用任何 document.getElementById("element") 时,它会变为 null, 如果通过 onClick=method 调用该方法,则该方法在哪里找到它们。
如何从 href 调用 javascript 方法或 servlet?或者我怎样才能使跨度具有与 href 相同的外观和感觉?
【问题讨论】:
-
在您的第一个示例中,只需包含
href="javascript:void()",这将为您提供活动链接。 -
没有什么可以阻止您拥有链接(用于外观)并处理 onclick 而不是使用 href。你可以传递一个像“#”这样的href,它给链接一个正确的外观,但同时什么也不做。然后你可以点击它
-
是的,这行得通。而且很容易!!!非常感谢。
标签: javascript html jsp