下面的函数在页面准备就绪时调用,旨在通过各种锚链接模拟点击,并触发这些锚的绑定方法,从而重现通过手动点击相同链接配置的相同 DOM。
function useAnchor() {
var uri = document.location.toString();
if (uri.match('#')) {
var anchor = '#' + uri.split('#')[1];
$('.links a[href="/' + anchor.split('/')[0] + '/"]').click();
$('.links a[href="/' + anchor.split('/')[0] + '/' + anchor.split('/')[1] + '/"]').click();
}
}
两个事件触发器中,第一个成功执行了绑定的方法。但是,第二个事件触发器的目标锚点在第一个事件的方法完成之前不存在,因为它将第二个事件的目标锚点插入到 DOM 中。第二个触发器失败,我唯一的猜测是这是由于无法找到它的目标锚点,因此表明在调用第二个触发器时第一个触发器还没有完全完成。我不会认为是这种情况 - 或者我的代码是否以某种方式在多个线程中运行?
简而言之,我需要有人确认触发器及其方法是完全同步执行的,所以我知道我是否在错误的地方寻找错误。提前谢谢了。