假设我有一个链接,当点击链接时会淡出整个页面。我淡出页面的原因是因为下一页即将加载,但尚未加载。我可以使用pointer-events: none
它将禁用任何鼠标事件,直到加载下一页。
假设它是用键盘完成的,我可以使用以下方法来防止双输入,或者完全禁用其中的所有元素,例如,tab-enter 也会以这种方式被禁用。
parent.onkeydown = fals
parent.onkeyup = fals
parent.onkeypress = fals
function fals() {return false}
这适用于短时间的加载,但如果加载时间较长,用户可能会注意到以下困难。
- 无法离开 a 标签。
- 无法使用几个可以控制浏览器的键盘快捷键。
- 能够从地址栏进入禁用区域。
除了为所有子元素设置 onfocus=blur 之外,是否有一种现代而巧妙的方法来防止这三个问题?我今天不关心IE。