CKEDITOR:Listblock / Richcombo工具栏插件:onmouseover action ingegration

时间:2016-05-12 17:06:00

标签: plugins ckeditor toolbar onmouseover

我想在listblock工具栏衍生插件上触发一些关于mouseover事件的操作(确切地说:richcombo插件)。

我在listblock插件中玩了一些自适应,并检查了floatpanel(和面板)的工作原理...... 最后我已经接近了(至少我认为我已经接近了)并找到了

  

listItem = CKEDITOR.addTemplate('panel-list-item'...

在listblock第12行。

我看到了

  

的onclick =“CKEDITOR.tools.callFunction({clickFn} ...

集成,最终以HTML列表代码结束。

我还找到了通过单击列表项调用的目标函数, 代码在richcombo插件中(第297行):

  

list.onClick = function(value,marked){

但是现在我被某种方式卡住了。 CKEDITOR.tools.callFunction(列表项HTML中的{clickFn}如何最终触发list.onClick函数?

我是否可以添加{mouseoverFn}

  

onmouseover = CKEDITOR.tools.callFunction({mouseoverFn} ...

在listblock中的onclick事件旁边?我怎样才能正确实现mouseoverFn? 然后它将如何引发一个假设的

  

list.OnMouseover = function(...

在richcombo代码中实现(将要实现)?

任何提示和可能的例子将不胜感激。

提前谢谢你,

斯托尼

1 个答案:

答案 0 :(得分:1)

自己找到了正确的整合:

在{onclick}(第15行)之后的listblock插件中添加{onclick}之类的内容:

  

' {onmouseover} =" CKEDITOR.tools.callFunction({mouseoverFn},\' {val} \');返回false;"' +

在getclick:function()(第83行)之后的listblock插件中添加以下内容,如getClick:function():

          getMouseover: function() {
                if ( !this._.mouseover ) {
                    this._.mouseover = CKEDITOR.tools.addFunction( function( value ) {
                        var marked = this.toggle( value );
                        if ( this.onMouseover )
                            this.onMouseover( value, marked );
                    }, this );
                }
                return this._.mouseover;
            }

添加以下内容,如" onclick:CKEDITOR.env.ie?..."在" onclick:CKEDITOR.env.ie之后的listblock插件中输入?..."声明(第111行),(但不确定它是否也适用于IE浏览器):

  

onmouseover:CKEDITOR.env.ie? ' onmouseover ="返回false;" onmouseup' :' onmouseover',   mouseoverFn:this ._。getMouseover(),

现在在" list.onClick =函数(...& ;:

          list.onMouseover = function( value, marked ) {
                if ( me.onMouseover )
                {
                    console.log('me.onMouseover');
                    me.onMouseover.call( me, value, marked );
                }
                //panel.hide();
            };

现在最后,在您自己的插件中,您构建下拉组合框,只需使用新实现的onMouseover函数,就像使用onClick函数一样:

      onMouseover: function( value )
        {
            // do here whatever is needed for your mouseover action...
        },

干杯并享受。