2013-03-08 6 views
0

Я собираюсь скрыть некоторые из моих функций красиво, и для этого я хочу пойти с подходом jQuery. Подобно jQuery, имеющему множество методовПлагин jQuery с несколькими методами

$.parseJson() 
$.ajax() 
$("div").text("hey my testing"); 

и оба метода присутствуют в одном файле jQuery. Но, читая о том, как создать плагин jquery, он указал, что вам не нужно создавать несколько функций внутри одного и того же плагина. Вместо этого передайте аргумент, который содержит имя метода как строку.

Итак, верно ли приведенный ниже фрагмент или я должен внести некоторые исправления в него.

<script type="text/javascript"> 
    (function ($) { 
     $.fn.testMethod1 = function() { 
      return $(this).each(function() { }); 
     }; 
     $.fn.testMethod2 = function() { 
      return $(this).each(function() { }); 
     }; 
     $.test = function() { 
      return "testresult" 
     }; 
    })(jQuery); 

    $("div1").testMethod1(); 
    $("div2").testMethod2(); 
    $.test(); 

    //Is that needed to be replace in a different way like 
    $("div1").myPlugin("testMethod1"); 
    $("div1").myPlugin("testMethod2"); 
    $("div1").myPlugin("test"); 


</script> 
+1

'this' уже является объектом jQuery. Вам не нужно повторно обертывать его. – Blender

+0

Хорошо, принято. Но верно ли, что несколько методов внутри одного плагина? –

+0

Twitter Bootstrap делает это так, и я думаю, что это более интуитивно, если все плагины следуют одному и тому же синтаксису. – Blender

ответ

1

Второй способ предпочтителен, поскольку он сохраняет пространство имен в объекте jQuery.

Прочитайте официальный документ JQuery для этого: Plugins/Authoring

+0

Что вы подразумеваете под управлением пространства имен в jQuery. В jQuery уже есть куча предопределенных функций, поэтому почему бы им не сделать это так же, как $ («div») («fadeIn») –

+1

Это просто предпочтительный способ для большинства разработчиков. Это позволяет использовать больше возможностей плагинов без наличия действительно сложных имен. Это только предпочтительный стандарт. – PitaJ

1

Вы пытаетесь использовать jquery boilerplate. Это хороший момент для начала разработки плагина jQuery. Это обеспечивает безопасное и, по-видимому, хорошее решение для создания плагина. Они используют второй способ вызова метода.

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