cor*_*ore 6 html javascript anchor
我有一个锚点,不会去任何地方,但有一个onclick(例如<a onclick="..."></a>).我的问题与href属性有关.我应该把价值放在什么位置?
如果我只是省略href,锚没有适当的装饰 - 当鼠标放在它上面时,鼠标指针图标不会改变.
如果我使用href="#",则单击链接时窗口将滚动到页面顶部.
如果我使用href="javascript:..."并输入onclick继续的值,javascript:则会保留页面,并且在单击链接时地址栏包含Javascript.
当我提到浏览器行为时,我指的是Chrome,我正在测试它.
我应该把为href当主播是不是一个实际的链接,但只存在有onclick执行的行为呢?
Pao*_*ino 12
理想情况下,您可以选择禁用Javascript的用户:
<a href="degrade_option.html" onclick="return fancy_option();">do the option!</a>
Run Code Online (Sandbox Code Playgroud)
如果你不是那种东西,虽然你真的应该这样,最常见的方法是使用英镑然后取消事件以防止发生默认操作,如下所示:
<a href="#" onclick="return do_something();">do something</a>
Run Code Online (Sandbox Code Playgroud)
但是你必须确保do_something回报false.(或者你可以return false;在点击处理程序的末尾添加,但这会更快地变得难看)
虽然,说实话,你真的不应该有内联的Javascript属性开始.他们是不好的做法,维持的噩梦,还有更好的选择.
编辑:回应您的评论,替代方案是不引人注目的javascript:
"不引人注目的JavaScript"是JavaScript编程语言中的一种新兴技术,如万维网上所使用的那样.虽然该术语未正式定义,但其基本原则通常被理解为包括:
- 从网页的结构/内容和表示中分离功能("行为层")
- 避免传统JavaScript编程问题的最佳实践(例如浏览器不一致和缺乏可伸缩性)
- 逐步增强,以支持可能不支持高级JavaScript功能的用户代理
阅读页面了解一些示例.
Jon*_*ant 11
在你的onclick处理程序中,将其添加到结尾:
return false;
Run Code Online (Sandbox Code Playgroud)
这将取消默认处理(即在链接之后),你可以在href中放置你想要的任何东西(#就像任何一样好).
| 归档时间: |
|
| 查看次数: |
6154 次 |
| 最近记录: |