Как я могу добавить слушатель onClick для fileButton в CKEditor? - PullRequest
2 голосов
/ 17 июня 2010

Я работаю в плагине загрузки изображений, и у меня есть определение кнопки, например:

{
    type : 'fileButton',
    id : 'uploadButton',
    filebrowser : 'info:txtUrl',
    label : editor.lang.image.btnUpload,
    'for' : [ 'Upload', 'upload' ],
    onClick : function() {alert('hey')}
}

Я попытался определить функцию, которая будет вызываться в другом месте, как именованную функцию, но безуспешно.Я также не смог добавить прослушиватель onClick для других элементов, но класс buttonDefinition здесь специально говорит, что вы должны иметь возможность добавить один к кнопке.

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

Вы пробовали:

document.getElementById('uploadButton').onclick = function() {
    alert('Hey!');
}
0 голосов
/ 04 апреля 2013

Это класс FileButton в JavaScript

function FileButton(){
   this.type = 'fileButton';
   this.id ='uploadButton';
   this.filebrowser = 'info:txtUrl';
   this.label = "editor.lang.image.btnUpload";
   this.forr = [ 'Upload', 'upload' ];
}

FileButton.prototype.onClick = function() {alert('hey')}

Или, если у вас есть объект json и вы хотите обернуть его в объект класса javascript, определите класс FileButton и используйте jquery:

function FileButton(){
   this.type = 'fileButton';
   this.id ='uploadButton';
   this.filebrowser = 'info:txtUrl';
   this.label = "editor.lang.image.btnUpload";
   this.forr = [ 'Upload', 'upload' ];
}

FileButton.prototype.onClick = function() {alert('hey')};

var a = $.extend(new FileButton(), {
          type : 'fileButton',
          id : 'uploadButton',
          filebrowser : 'info:txtUrl',
          label : "editor.lang.image.btnUpload",
          forr : [ 'Upload', 'upload' ],
          onClick : function() {alert('hey')}
        });

console.log(a);
a.onClick();

JsFiddle.net ссылка

...