我正在编写一个带有 javascript 验证的表单,我想覆盖浏览器的内置拼写检查。
例如,假设我正在检查序列号并且它们都传递了一个正则表达式文本。我想强调那些在浏览器中不太喜欢浏览器突出显示拼写无效的单词的人。
我能想到的就是禁用浏览器的内置拼写检查
所以总结一下
有没有一种简单的方法来覆盖浏览器的内置拼写检查(有点像在 javascript 中对数组进行排序时覆盖比较器的方式)
如果没有,是否有一种简单的方法来模拟这种行为?
非常感谢
我正在编写一个带有 javascript 验证的表单,我想覆盖浏览器的内置拼写检查。
例如,假设我正在检查序列号并且它们都传递了一个正则表达式文本。我想强调那些在浏览器中不太喜欢浏览器突出显示拼写无效的单词的人。
我能想到的就是禁用浏览器的内置拼写检查
所以总结一下
有没有一种简单的方法来覆盖浏览器的内置拼写检查(有点像在 javascript 中对数组进行排序时覆盖比较器的方式)
如果没有,是否有一种简单的方法来模拟这种行为?
非常感谢
简短的回答;不,没有 JavaScript 可以挂钩的拼写检查 API。除此之外,这些似乎是不同的目标;拼写检查是关于自然语言的,而您似乎真的想要输入验证。当您的 JavaScript 代码检测到无效序列时,您最好通过 CSS 向用户应用不同的背景/边框颜色或类似的提示(尤其是因为每个浏览器都会以不同的方式呈现拼写检查错误)。
我还没有评估代码,但 CkEditor 设法禁用浏览器拼写检查。它有一个默认设置为 true 的配置设置:disableNativeSpellChecker
config.disableNativeSpellChecker = true;
该设置在“所见即所得”插件中使用,这是插件代码的链接:所见即所得插件
也许您可以将其用作您自己的代码的基础,以禁用浏览器拼写检查。
从下面的 Url 查看演示,它认为它可能对您的情况有所帮助,尽管它仅适用于 HTML5。
http://jsfiddle.net/0GiS0/ZU74B/
这是他们在演示中使用的代码:
window.onload = function(){
var support = document.getElementById("support");
if('spellcheck' in document.createElement('textarea'))
{
support.textContent = "Your browser supports spellcheck";
support.style.color = "green";
}
}