2015-05-25 2 views
0

Как вы вызываете функцию функции, определенную вне плагина, но используя аргументы внутри плагина. У меня есть это, где плагин вызывает функцию, но параметры не определены. Внутри плагина аргументы имеют значения.аргументы для обратного вызова в плагине 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> 

ответ

1

Что делать, если вы замените

callBack: function(){ loadData();} 

По

callBack: loadData 

Надежда, что помогает

+0

Обратите внимание на отсутствие «()» на конец имени функции. – Bene

+1

Спасибо. Это помогло –

+0

Мне также нужно было добавить settings.callBack.call ($ (this), settings.type, id); –

0

LoadData() не дает каких-либо аргументов в то время как тип и идентификатор ожидается

Смежные вопросы