如何解决CKEDITOR.dom.element 更改后,a11ychecker 如何对内容运行进程?
我正在尝试使用 span.numberstring
|span.datestring
类标记数字字符串和日期字符串,以便 CKeditor A11ychecker 插件会找到它们并呈现 Quickfix 表单以使用屏幕填充 <abbr title>
属性-可读文本。当“beforeCommandExec”等于“a11ychecker”时,我使用以下脚本运行正则表达式搜索。编辑器内容被替换后,'CKEDITOR.dom.element' 显示为 'null',错误响应为:
plugin.js?t=K87C:32 Uncaught TypeError: Cannot read property 'getPosition' of null
txtGroupEditor.on('beforeCommandExec',function(event){
var commandName = event.data.name;
if(commandName == 'a11ychecker'){
var dataRegex=/([0-9]{4,4})(?!<\/span>)/g,string=this.getData(),m;
do {
m = dataRegex.exec(string);
if (m) {
string=string.replace(m[0],'<span class="numberstring">' + m[0] + '</span>');
}
} while (m);
this.setData(string);
}
});
这是时间问题吗?我尝试在正则表达式操作完成后触发 a11ychecker 进程,但这也不起作用,它似乎仍然从实例中解除绑定。预先感谢您的帮助。
没有正则表达式操作的结果
正则表达式运算结果
解决方法
结论:当点击 a11ychecker 按钮时,按顺序强制运行两个操作(标记然后 a11ychecker),似乎有其挑战。
解决方案:将标记操作分解为自己的按钮似乎更有效和可靠。现在,在启用 a11ychecker 按钮之前需要运行标记操作。当编辑器内容在“key”按下时被激活,a11ychecker 按钮将被禁用以假定内容已被更改并应再次运行标记操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。