J'ai un problème de cadrage que je ne peux pas trouver une solution dans Google est ici une version simplifiée de mon codequestion Scoping avec jQuery UI Widget usine
jQuery.widget("myNamespace.myPlugin", {
options: {},
_create: function() {
$main = this.element;
},
_init: function() {
$main.text('ajax running');
$.ajax({url:'some/url/path'})
.done(function(data) {
this._callback(data);
});
},
_callback: function() {
$main.text('ajax complete');
}
});
$('.widget_element').myPlugin();
<html>
<head>
<script
\t \t \t src="https://code.jquery.com/jquery-2.2.4.min.js"
\t \t \t integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
\t \t \t crossorigin="anonymous"></script>
<script
\t \t \t src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
\t \t \t integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU="
\t \t \t crossorigin="anonymous"></script>
\t \t
</head>
<div class="widget_element"></div>
</html>
L'erreur que je reçois est:
TypeError: this._callback is not a function
y at-il une meilleure façon d'effectuer cette tâche à l'intérieur du widget environnement?
Merci
J'ai posté ma solution actuelle, mais si vous en connaissez une meilleure, veuillez la poster et je l'accepterai si elle est valide – Tricky
Ce n'est pas un problème spécifique à jquery-ui. Plus de solutions dans http://stackoverflow.com/questions/3630054/how-do-i-pass-the-this-context-to-a-function – blgt