获取CKEitor中单击的工具栏按钮的状态

加里·M

我试图禁用CKEditor对话框之外的JSP页面上存在的按钮。具体来说,当单击CKEditor工具栏上的“源”按钮时,我想运行一些仅禁用我网页上的“发布”按钮的代码-如果可以使用HTML源代码进行编辑,则不允许发布。我已经尝试过在此SO发布中建议的事件委托除了使用CKEditor的“源”按钮,该类将在完成工作时从“ cke_button_off”更改为“ cke_button_disabled”,再更改为“ cke_button_on”。Manwal在引用的SO发布中显示的代码查询hassclass中的特定类,以确定按钮是否已启用。不错的干净解决方案,但是,正如我所说的那样,一旦单击按钮,就会有一个中间的“ cke_button_disabled”类参与,因此检查总是在我的代码中失败,因为我没有检查“ cke_button_disabled”类。我只关心设置的两个CSS类:cke_button_on和cke_button_off。

这就是我的难题。我曾考虑过在查询设置的CSS类之前先等待click事件完成,但是我找不到解决方法,因此一旦CKEditor Source按钮单击完成,我就可以查询Source按钮的CSS类。我已经尝试了CKEditor的afterCommandExec,但是没有用。这是该代码:

CKEDITOR.on('instanceReady', function (e) {
  var editor = e.editor;
  editor.on('afterCommandExec', handleAfterCommandExec);

function handleAfterCommandExec(event) {
    var commandName = event.data.name;
// For 'source' commmand:
    if (commandName == 'source') {
        var xxx = $(document.getElementById('cke_15'));
        if(xxx.hasClass('cke_button_off')) { //cke_button_off when 
                                             //     notdepressed 
            console.log("In handleAfterCommandExec::  
                                CKEDITOR SOURCE BUTTON CLICKED!!!!");
            $('#button-publishButton').attr("disabled", "true");
        }else {
            console.log("In handleAfterCommandExec:: 
                  CKEDITOR SOURCE BUTTON UNNNNACLICKED!!!!");
            $("#button-publishButton").removeAttr("disabled");
        }
    }
}

我也尝试了回调:

$(document).on('click', '.cke_button__source', function(){
   test();
});

function test() {
var xxx = $(document.getElementById('cke_15'));
if(xxx.hasClass('cke_button_off')) { //cke_button_off when not depressed 
                                     //cke_button_disabled
.....same code as previous

}

明白了吗?每次我的代码运行hassclass查询的结果时,总是“ cke_disabled”。有人可以建议一种查询CKEditor“源”按钮css值的状态的方法,以便为我提供所需的信息-button_on或button_off吗?也许还有另一种方法可以等到“源”按钮代码完成后再检查css值,或者,当单击CKEditor工具栏按钮时,还有另一种在JSP页面上禁用按钮的方法?感谢您的时间和协助。

内克罗

您不应该这样用JQuery入侵CKEditor。到底是什么问题?是捕获事件还是弄清楚事件是打开还是关闭?如果您在检测源模式是打开还是关闭时遇到麻烦,则应该可以通过editor mode属性来获取它:

http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-mode

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击其他程序工具栏中的按钮

来自分类Dev

Kendo工具栏获取按钮状态并重置为加载状态

来自分类常见问题

在Android工具栏中创建按钮

来自分类Dev

ubuntu touch工具栏中的按钮

来自分类Dev

ubuntu touch工具栏中的按钮

来自分类Dev

如何访问工具栏中的按钮?

来自分类Dev

以编程方式在模式窗口的父级中单击工具栏按钮

来自分类Dev

单击工具栏中的搜索按钮后,视图未正确显示

来自分类Dev

获取工具栏中的MenuItem的ID

来自分类Dev

通过滚动按钮单击隐藏后显示工具栏

来自分类Dev

如何在单击按钮时更改工具栏颜色?

来自分类Dev

TinyMCE 4切换工具栏按钮状态

来自分类Dev

快速将工具栏按钮移到工具栏中的左侧

来自分类Dev

Excel工具栏按钮

来自分类Dev

工具栏菜单项在片段中单击

来自分类Dev

工具栏与状态栏重叠

来自分类Dev

工具栏按钮重力以扩展工具栏

来自分类Dev

如何配置MatPlotLib工具栏,使工具栏中的按钮为ttk按钮,而不是旧的Tk按钮

来自分类Dev

工具栏中的后退按钮不起作用

来自分类Dev

在Sencha Touch工具栏中左右对齐按钮

来自分类Dev

工具栏中的Summernote角度自定义按钮

来自分类Dev

在WebViewClient的某些页面中隐藏工具栏上按钮

来自分类Dev

在工具栏中显示菜单溢出按钮

来自分类Dev

如何在emacs中添加工具栏按钮?

来自分类Dev

RCP 4切换工具栏中的按钮

来自分类Dev

工具栏中的“主页”按钮存在问题

来自分类Dev

如何突出显示GTK工具栏中的按钮

来自分类Dev

工具栏正在NavigationView中删除我的后退按钮

来自分类Dev

如何突出显示GTK工具栏中的按钮