我正在尝试使用jquery检测CKEditor中是否有某些更改,但无法使其工作.
var isModified = false;
$('textarea,input').change(function(){
if(!isModified){
isModified = true;
}
});
$(".ckeditor").document.on('keydown', function() { isModified = true; });
window.onbeforeunload = function(){
$(".ckeditor").ckeditorGet().updateElement();
if(isModified){
return "Are you sure you want to leave page?";
}
};
Run Code Online (Sandbox Code Playgroud)
有谁知道为了使它适用于CKEditor 3.6.2需要什么?它适用于所有其他表单元素.
Nen*_*lep 29
在CKE api中有一个名为checkDirty()的函数.这样你就不需要自己动手了.还附带其他有用的功能,如resetDirty().试试这个作为测试:
if ( CKEDITOR.instances.editor1.checkDirty() ) alert("Content changed");
Run Code Online (Sandbox Code Playgroud)
更新5.7.2013
请参阅http://dev.ckeditor.com/ticket/9794 - 更改事件是一项已确认的新功能!它也被标记为Milestone 4.2,并通过CKSource的推文确认!只是不相信里程碑的截止日期,它们往往会改变.
更新1.8.2013
CKEditor 4.2已经出局,它将onChange事件作为一项功能引入.显然,根据文档,每次可能的变化都不是100%可靠 - 希望它足够好用!发布信息请访问http://ckeditor.com/release/CKEditor-4.2
您可以通过绑定到编辑器的按键事件来跟踪编辑器内的更改。
使用 jQuery 适配器:
$('.ckeditor').ckeditorGet().on('key', function(e) {
var keyCode = e.data.keyCode; // if you need to track the key
isModified = true;
});
Run Code Online (Sandbox Code Playgroud)
有关关键事件的文档
| 归档时间: |
|
| 查看次数: |
12844 次 |
| 最近记录: |