utiliser this dans un json object?

Par Logan Tann, il y a 7 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Je suis en train de faire un double éditeur de texte (c'est un outil de fan-traduction, qui permets de mettre le texte anglais d'un côté et de le traduire d'un autre côté)
voici un code très raccourci : (notons que codeEditor me crée mon éditeur de code)

function doUnderline(elem) { console.log(elem); } var toolbarElems = ["bold","italic",{name:"underline", action: doUnderline(this)}]; var editor1 = codeEditor($("#test1"),{toolbar: toolbarElems}); var editor1 = codeEditor($("#test2"),{toolbar: toolbarElems});

Comme vous le voyez, les deux éditeurs sont presques égaux, (toolbar identique).
seulement, this (dans la fonction doUnderline) retourne non pas l'instance dans laquelle il a été appelé mais le DOM. normal je dirais, (je ne saurais l'expliquer facilement mais je comprends pourquoi il me retourne ça)
alors la solution consisterait à faire ceci :

function doUnderline(elem) { console.log(elem); } var editor1 = codeEditor($("#test1"),{toolbar:["bold","italic",{name:"underline", action: doUnderline(this)}];}); var editor1 = codeEditor($("#test2"),{toolbar:["bold","italic",{name:"underline", action: doUnderline(this)}]});

Sauf que rappellons que le code deviens vite lourd, car cet exemple est un truc très raccourci.

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

donc OK on peut faire la version sale. Ce n'est pas ce que je cherche mais si vous avez une réponse autre que celle-ci est plus clean, alors je suis preneur. Si c'est pas le cas, dites le aussi !

voilà j'espère que j'aurais une réponse rapide ! merci !!

Aucune réponse