2010-06-17 3 views
2

Je travaille dans le plugin Uploader d'image, et une définition de bouton comme ceci:Comment puis-je ajouter un écouteur onClick à un bouton de fichier dans CKEditor?

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

J'ai essayé de définir la fonction à appeler ailleurs en fonction du nom, sans succès. Je n'ai également pas été en mesure d'ajouter un écouteur onClick à d'autres éléments, mais la classe buttonDefinition here dit spécifiquement que vous devriez être capable d'ajouter un à un bouton.

+0

Avez-vous de la chance? – davemackey

Répondre

3

Avez-vous essayé:

document.getElementById('uploadButton').onclick = function() { 
    alert('Hey!'); 
} 
0

C'est la classe de FileButton en 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')} 

Ou si vous avez objet JSON et que vous voulez envelopper dans javascript objet de classe, définir la classe FileButton et l'utilisation 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 link

Questions connexes