繁体   English   中英

我应该使用点击而不是href吗?

[英]Should I use on click instead of href?

我的导航栏侧面和水平位置仅有少量物品。 每个项目都包含不同页面的链接。 我读过一些有关href属性的文章。 对于不需要使用href的HTML5有很多不同的意见。 如果可能,我想隐藏链接。 选项之一是使用onClick函数。 关于是否应该使用javascript或#号,也有很多争论。 例如:

选项1

<a href="#" onclick="someFunction(e)"></a>

或选项2

<a href="javascript:void(0);" onclick="someFunction(e)">

我想知道这是否是解决此问题的最佳方法。 另外,我看到涉及JQuery的选项很少,但是我不确定这是否是最佳选择。 如果有人可以帮助您,请告诉我。 我只想使用经过良好测试的东西,这将是一个长期的解决方案。 提前致谢。

如果您实际上是使用URL链接到另一个HTML页面,请使用link元素和href。

如果您在某个框架中并更改路线或视图-或触发某些事件-这取决于您。 如果需要,可以使用按钮或任何元素或<a> ,但是要确保避免链接的默认行为。

听起来您的问题不是在href或没有之间-而是在链接或其他之间。

常规链接

<a href='http://sheriffderek.consulting' target='sheriff'>link</a>

非JavaScript网站的后备链接? (除非您是公共图书馆或其他机构,否则在2017年不太可能)...

<a href='http://sheriffderek.consulting' onclick='someFunction(e)'>js view trigger with fallback link</a>

另一个元素

<button onclick="someFunction(e)">button</button>

另外-它取决于框架。 我相信Angular只是说要使用链接,但不要使用href。

如今,我看到大多数开发人员更喜欢“#”而不是“ javascript:”。

如果必须使用onclick,我个人会这样做:

<a href="#" onclick="event.preventDefault(); someFunction();">Link</a>

另一个例子:

<a href="#" onclick="someFunction(event);">Link</a>
<script>
    someFunction = function(event) { 
        event.preventDefault();
        // do the work
    }
</script>

为了回答您的问题之一,在页面中显示链接不应该是安全问题。 必须保护每个服务器请求免遭未经授权的呼叫,URL混淆几乎完全无济于事。

用来重定向页面(或调用事件)的方法实际上取决于您要从操作和整体用户体验中实现的目标。 在某些情况下,href更合适:

  • 也是链接的图像
  • 用作链接的词或短语
  • 您想要显示给用户的实际链接

可以对按钮的onClick事件进行编码,以实现相同的效果,但使用的路由不同。 也许通过按钮单击事件而不是仅仅通过href来提高代码效率或改善用户体验。

要记住的两件事是用户体验和设计,然后是页面的安全性。 始终确保任何链接/重定向都不会损害页面的安全性。 这可能会确定您需要使用的方法。

有关其他信息,您可以先阅读以下链接,然后继续浏览该站点的其余堆栈交换UX部分:

希望对您有所帮助。

在href或onClick事件中采取行动?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM