点击并保存,直到目标脚本加载到JS页面



我有一个onclick函数

<a onclick="func()"></a> 

在主页面上,用户可以在所有脚本文件加载到该页面之前点击该链接,这样他们就会得到"空"点击——如果过早按下按钮。

注意:我不是在寻找如何更快/与主页同步地加载脚本

我的问题是如何"捕捉"这个点击并"存储"它,直到加载目标脚本,然后继续click

我认为.procise((可能会起作用,但我以前从未使用过它,有人能给我指明正确的方向吗?

在页面的开头,定义一个数组,使用push()方法存储所有点击。然后在加载js文件时处理它们。

<!-- HTML PAGE -->
<script>var clicks = [];</script>
<a href="#" onclick="clicks.push([func, this])">AAA</a>
<a href="#" onclick="clicks.push([func, this])">BBB</a>
<a href="#" onclick="clicks.push([func, this])">CCC</a>
<!-- JAVASCRIPT FILE  -->
<script>
// The function executed by clicking on a link
function func(node) {
console.log(node.innerHTML);
}
window.onload = function () {
// When the page is loaded, rewrite the push() method
// So, when you click on a link, it should execute the function instantly
clicks.push = function (click) {
var fn = click[0],
node = click[1];
fn.call(this, node);
};
// Execute all saved clicks
for (var c = 0; c < clicks.length; c++) {
clicks.push(clicks[c]);
}
};
</script>

最新更新