将 jquery 拼写检查添加到动态生成的文本区域
我正在尝试在我正在构建的应用程序上使用 Brandon Aaron 的 jquery 拼写检查器。
https://github.com/brandonaaron/jquery-spellcheck#readme
我已经设置脚本和拼写检查根据需要在作为原始页面代码一部分的文本区域上工作。拼写检查行为通过文档头部中的以下代码与相关字段关联:
$('#test4').spellcheck({ events: 'keyup' });
当我尝试将相同的行为添加到新的表单元素时,例如:
var textarea = $("<textarea>");
textarea.spellcheck({ events: 'keyup' });
[NB 最初有 $("").html()但已根据下面的建议更改了此设置并得到相同的错误]
我收到以下错误(来自谷歌浏览器控制台)
Uncaught TypeError: Object # has no method 'spellcheck'
我认为这是因为拼写检查器在某些时候关联了拼写检查方法与每个现有的textarea 但是当我创建一个新的时它没有这个方法?如果是这样,我如何将该行为与新元素关联起来?或者我走错了路?
非常感谢任何帮助。
谢谢,
德里克
I'm trying to use Brandon Aaron's jquery spellchecker on an application I'm building.
https://github.com/brandonaaron/jquery-spellcheck#readme
I have set up the scripts and spell checking works as required on text areas which are part of the original page code. The spellcheck behaviour is associated with the relevant fields by way of the following code in the head of the document:
$('#test4').spellcheck({ events: 'keyup' });
When I try to add the same behaviour to a new form element eg:
var textarea = $("<textarea>");
textarea.spellcheck({ events: 'keyup' });
[NB Originally has $("").html() but have changed this in light of advice below and get same error]
I get the following error (from google chrome console)
Uncaught TypeError: Object # has no method 'spellcheck'
I assume this is because the spellchecker has at some point associated a spellcheck method with each existing textarea but when I create a new one it doesn't have this method? If so how do I associate the behaviour with the new element? Or am I on the wrong track?
Any help greatly appreciated.
Thanks,
Derek
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
拼写检查脚本是一个 jQuery 插件,因此它只能在 jQuery 对象上运行,而不能在 DOM 节点或 HTML 字符串上运行。正在做:
应该工作。
The spellcheck script is a jQuery plugin, so it can only be run on a jQuery object, not on a DOM node or HTML string. Doing:
should work.
我认为你需要:
I think you need:
你不应该将textarea分配给$.html(),因为这只是一个字符串,所以你不能将它链接到拼写检查,
所以它应该是:
然后将textarea附加到正文或你想要的地方
you shouldn't assign textarea to $.html() because this is just a string so you can't chain it to spellcheck
so it should be:
then append textarea to body or where you want it