javascript - 在同一页面内跳转时如何触发 JS 函数?
问题描述
当遵循锚点 href 时,我希望让我的页面突出显示目标位置。
目前它在转到另一个页面时工作正常,但是当我尝试链接到同一页面时,我无法触发该功能。在新页面上,它用于$(document).ready
调用该函数,但我不知道当它在同一页面上移动时如何触发它。
我曾尝试使用 onClick,但这会导致最大堆栈问题,我希望有更好的方法来做到这一点。
有没有办法用 JQuery 或 Javascript 触发点击?
编辑:
我的代码是onclick="highlightTarget()"
这叫
function highlightTarget () {
//Get location
var url = window.location.href;
if(url.indexOf("#") != -1) {
var anchor = url.substring(url.indexOf("#")+1);
//Get element
var element = document.getElementById(anchor);
//Highlight if not null
if(element != null)
highlightTarget(element)
}
}
我得到的错误是因为这个函数会不断被调用并且会填满堆栈。
但我想避免使用 onClick,因为我更喜欢使用一个函数,这样我就不必每次制作锚点时都添加 onClick。
编辑2:
我找到.addEventListener("click", function() {
了,这似乎就是我想要的。然后我只是为每个锚添加了一个类作为标识符,并找到了一个包含该类的元素数组。
我会删除这个问题,但我希望如果他们能以某种方式找到它,它可以帮助处于相同情况的人。现有的答案对我不起作用。
解决方案
推荐阅读
- php - 调用处理具有 UTF-8 编码的文件的 python 脚本时,PHP system() 静默失败
- ruby-on-rails - 在从 4.1 rails 移动到 6.0 期间,出现错误:“...”之后的无效 CSS:sass 文件中发生预期的“}”
- bash - Bash 案例/开关格式
- c# - 在C#中导入数据表后如何在同一个Excel单元格中保留两位数字字符串
- sql - R:从 SQL Server 复制/克隆完整数据库到本地
- apple-developer - 有什么方法可以获取苹果 InApp 的价格和地区吗?
- sql-server - 如何检查 SQL Server 查询是否从缓存中提取查询结果
- java - 从包含字节数组图像的数据库中获取对象
- c++ - enable_if 在构造函数上
- java - 如何在不跳过其他步骤的情况下手动失败 Serenity bdd 中的步骤