Как вы вызываете функцию функции, определенную вне плагина, но используя аргументы внутри плагина. У меня есть это, где плагин вызывает функцию, но параметры не определены. Внутри плагина аргументы имеют значения.аргументы для обратного вызова в плагине jquery не определены
(function ($) {
$.fn.myPlugin = function (options) {
var defaults = {
type: 0,
callBack: function() { }
};
var settings = $.extend({}, defaults, options);
this.find('.list-item').click(function (e) {
e.preventDefault();
var txt = $(this).attr('href');
var id = txt.substring(1, txt.length);
settings.callBack.call(settings.type, id); // populated here
});
return this;
};
} (jQuery));
function loadData(type, id) {
// type and id are undefined
}
<script type="text/javascript">
$(document).ready(function() {
$("#mydiv").myPlugin({
type: 190,
callBack: function(){ loadData();}
});
});
</script>
Обратите внимание на отсутствие «()» на конец имени функции. – Bene
Спасибо. Это помогло –
Мне также нужно было добавить settings.callBack.call ($ (this), settings.type, id); –