我为我的大学社区创建了一个社交网站,并且运行良好。有一个功能可以喜欢其他用户的帖子。喜欢是使用 javascript 的 onClick() 函数触发的。
最近由于安全原因,我们的许多成员(member)禁用了 javascript。
如果禁用了 javascript,是否有任何方法可以将用户重定向到特定页面?否则脚本应该可以工作。
为了更详细的描述,假设我当前的代码是这样的:
<a href="#" onclick="return likeFunction();">Item</a>
我想要的是这样的:
<a href="www.mysite.com/postController/likeAction" onclick="return likeFunction();">Like</a>
** 但只有当 onclick() 函数不起作用时 href 才应该处于事件状态。那可能吗? **
我的网站是用 php codeigniter 构建的。有什么解决办法吗?
最佳答案
只需在 onClick 事件中调用的函数上返回 false。
所以要么确保 likeFunction() 返回 false。或者,之后使用 onClick="likeFunction(); return false;"
返回 false。
一般来说,你应该总是在 href 中放置一个链接,而不是完全依赖 JS。 anchor 标记不应为 abused with the onclick event创建伪按钮。如果不需要在 href 中放置链接,您可以考虑使用按钮标签。
此外,href 应以协议(protocol)开头(http://www.example.com
而不是 www.example.com
)。
旁注:您可以考虑通过调用 addEventListener 而不是使用 onClick 属性来附加 JS 事件。使用这两种方法都有不同的优缺点。我建议你看看这个答案:addEventListener vs onclick .
编辑:正如 WillardSolutions 所建议的,您可以使用 preventDefault 来确保在调用 onClick 事件时不会打开链接。有关详细信息,我建议您查看此答案:event.preventDefault() vs. return false
关于javascript - 仅在禁用 javascript 时使用链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53396453/