JavaScript 锚标记的正确 href 值是多少?
我通常必须将 JavaScript 函数绑定到锚点单击事件。使用 jquery 或 onclick
内联属性可以轻松实现这一点。
但是,我的问题是我永远不知道保持 href
为空的最佳方法是什么。
例如:
- 对于空的代码来说似乎有点太多
< /code> - 如果我不想移动到另一个页面,我必须返回 JavaScript 调用中的 false
- 此选项会破坏 光标和悬停样式,并且浏览器不会将其呈现为链接
- 同上
空锚点的最佳 href
值是多少?我不想在没有 JavaScript 的情况下保留功能
I usually have to bind a JavaScript function to an anchor-click event. That is easy using jquery or the onclick
inline attribute.
But, my problem is that I never know what the best way to keep href
empty is.
For instance:
<a href="javascript:void(0)">
- It seems like a bit too much code for just being empty<a href=#>
- If I don't want to move to another page, I must return
false in the JavaScript call<a href>
- This option breaks the
cursor and hover style and the browser doesn't render it as a link<a>
- idem
What is the best href
value for empty anchors? I'm not interested to keep functionality without JavaScript
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
ABC
=>单击上面的链接时,它将在地址栏中设置 url,这会使文档闪烁或重置滚动位置
以避免上述问题,
abc
可以像往常一样使用 jQuery 来使用和绑定事件处理程序
或者您可以在 onclick 上执行任何返回 false 值的函数。
<a href=#>ABC</a>
=> on click of above link it will set url in address bar which makes flickering of document or resetting scroll position
to avoid above problem,
<a href=# onclick="return false" >abc</a>
can be used and bind event handler using jQuery as usual
or you can execute any function on onclick which return false value.
正确的方法是使用空的
a
元素href
属性并在 Javascript 中绑定点击事件。为了不引人注目的设计,您应该有一个带有正确链接的
href
属性(以便那些没有 Javascript 的人仍然可以使用该网站),并在 Javascript 中删除该属性,绑定点击事件。如果您只是使用
a
元素作为绑定点击事件的目标,请考虑使用div
或span
代替。The right one is to use an empty
a
elementhref
attribute and bind the click event in Javascript.For unobtrusive design, you should have a
href
attribute with a proper link (so those without Javascript can still use the site) and remove the attribute in Javascript, binding the click event.If you are simply using the
a
element as a target to bind the click event to, consider using adiv
orspan
instead.我个人坚信使用 JavaScript 来扩展功能,而不是取代。话虽如此,我留下了指向我实际上只是用 JavaScript 执行的操作的“安全”回退的锚点。简单地说:
然后,如果 javascript 能够成功加载并绑定到元素,则补充(并返回 false),否则,如果用户没有 javascript(通过插件阻止或只是不支持),仍然为用户提供完成任务的能力已加载)。
I'm personally a firm believe in using JavaScript to extend functionality, not replace. With that said, I leave anchors pointing to a "safe" fall-back of the action I'm really just executing with javascript. Simply put:
Then, supplement (and return false) if javascript was able to successfully load and bind to the element, otherwise still provide the user the ability to accomplish the task if they don't have javascript (either blocked via plugin or just not loaded).
干脆不使用A 元素。您还可以使 DIV 或任何其他元素可点击。
或者您也可以简单地保留 href 属性,如下所示。
如果您还想让它看起来像一个链接,请将其放入 CSS 中:
Simply do not use A element. You can as well make DIV clickable or any other element.
Or you can also simply leave href attribute out, like so.
If you also want to look it like a link, put this in CSS:
我认为
or
是指示空锚点的最佳方式。
并将
页面移动到 id="someId" 的 dom 元素
I think
or
is the best way to indicate empty anchor.
and
will move the page to the dom element which has id="someId"
这一切都取决于。如果您单击锚点以打开页面上的面板,那么我很乐意使用选项 2,但前提是我使用 javascript 插入该锚点。
这意味着禁用 javascript 后,锚点不会显示,并且面板应该可见。
如果链接到达某个地方,那么您需要像布拉德·克里斯蒂和奥迪德所说的实际链接地址。
it all depends. if you are clicking an anchor to open a panel on the page then I am happy to use option 2 but only if I insert that anchor with javascript.
this then means with javascript disabled the anchor doesn't show and the panel should be visible.
if the link goes somewhere then you need the actual link address like brad christy and odid said.