如果一个javascript函数是匿名声明的,有没有办法覆盖它或它的一部分?
我试图阻止 google.com 的即时搜索劫持向上和向下箭头键来移动您的搜索排名。我已经确定了我认为有问题的代码部分。键码 38 和 40 用于向下键和向上键。
if (b == 40) aa(f);
else if (b == 38) aa(j);
else if (b == 37 || b == 39) if (!ca(b == 39)) return f;
a.preventDefault && a.preventDefault();
return a.returnValue = j
问题是这是一个名为 Sb = function (a) {} 的函数的一部分,它位于大约三千行匿名函数的内部。SO here上发布了一个类似的问题,作者最终以一种不适用于我的hacky方式解决了问题。我意识到我可以关闭即时搜索,但我喜欢它,我只是无法忍受我的箭头键不再起作用。
解决方案:
我最终编写了一个chrome 扩展来将向上/向下箭头键功能恢复为滚动。我使用了以下代码。感谢 Raze 和 Mofle。
if (event.keyCode == 40 || event.keyCode == 38) {
event.cancelBubble = true;
event.stopPropagation();
return false;
}