Я пытаюсь передать логический параметр для обратного вызова изнутри jquery-плагина, но параметр всегда не определен.jquery plugin, boolean callback parameter
Параметр обратного вызова onSwitch должен чередоваться между истинным и ложным каждый раз, когда нажимается ссылка. Используя отладчик, я вижу, что значение, переданное функции вызова обратного вызова, правильно определено как true или false, но внутри реализации обратного вызова оно переходит в неопределенное.
Я пытался смотреть на несколько других подобных вопросов, как thisthis и this, но не могу показаться, чтобы получить эту работу.
Это мое определение плагина:
(function ($) {
$.fn.switcherButton = function (options) {
// Set the default options
var settings = $.extend({},$.fn.switcherButton.defaults, options);
this.click(function() {
$.fn.switcherButton.switched = !$.fn.switcherButton.switched;
settings.onSwitch.call($.fn.switcherButton.switched);
});
return this;
};
// Plugin defaults – added as a property on our plugin function.
$.fn.switcherButton.defaults = {
onSwitch: function() {}
};
$.fn.switcherButton.switched = false;
}(jQuery));
HTML:
<a id="switchTest" href="#">switch</a>
инициализации плагина:
$("#switchTest").switcherButton({
onSwitch: function(switched){
if(typeof switched === "undefined")
alert("callback param = undefined");
else
if(switched)
alert("callback param = true");
else
alert("callback param = false");
}
});
Я создал jsfiddle проблемы here.
Check [это] (http://jsfiddle.net/deepakb/zs3yt0t9/1/). – deepakb