我想禁用所有网页通过greasemonkey脚本(适用于FF3.6)自动突出显示文本输入表单字段内容的功能。这是我的第一次尝试:
// ==UserScript==
// @name Prevent Auto-highlight
// @namespace quintopia
// ==/UserScript==
HTMLInputElement.prototype.select = function() {
//do nothing
}
但这不起作用。是因为它在页面的其余部分之后加载,因此在创建后不会应用于输入字段?我是否需要手动遍历DOM,查找每个输入字段,并手动覆盖其选择以使其生效? (我没有尝试过这个,因为我不想这样做,除非它真的是最好的方式。我要求学习做这种事情的“最佳”或“标准”方式。)< / p>
答案 0 :(得分:0)
我认为你要做的是停止点击它时自动选择整个输入字段?
使用if()过滤器将click事件(或onFocus?)添加到整个页面,以测试click的目标是否为输入字段(以节省必须循环并创建可能大量的事件处理程序)会做你想要的。下一部分可以像您希望的那样简单或优雅。
简单的方法是从事件处理程序中获取onTimeout()触发器(100ms延迟?)并将光标移动到文本字段的末尾。这是竞争条件(取决于页面的代码运行速度比计时器允许的速度快),但这应该适用于大多数站点。
更复杂的将检测触发click事件时鼠标在输入字段中的位置并相应地放置光标,和/或将变为特定于站点并覆盖/特定地抵消确切页面/站点上的代码想要使用它。