2014-03-19 10 views
2

можно ли назвать jquery plugin следующим образом? это в моем файле плагинаjquery очень простой плагин, очень простой

(function($) { 

    $.fn.alertme=function(){ 
    alert('just testing'); 
    }; 


    }(jQuery)); 

Я включил файл плагина ,, и вызвать функцию на моей домашней странице ...

<script> 
    $(document).ready(function() { 

    alertme(); 
    }); 


    </script> 

появляется сообщение об ошибке на лог консоли Uncaught ReferenceError: alertme is not defined я даже попробовал return alert('just testing'); ,, как мы это исправим?

ответ

4

Вы добавили функцию в $.fn, которая является псевдонимом прототипа конструктора jQuery. Это означает, что ваша функция привязана ко всем объектам, созданным как $(someArgs).

Вызов вашей функции на объекте JQuery, например

$(document).ready(function() { 
    $(document).alertme(); 
}); 

или

$(document).ready(function() { 
    $({}).alertme(); 
}); 

или даже

$(document).ready(function() { 
    $().alertme(); 
}); 

Но нет никакого смысла делать плагин JQuery, если вы не 't использовать this (объект jQuery) в функции. Обычно вы могли бы сделать что-то вроде этого:

// logs all elements of the jQuery collection 
$.fn.logme=function(){ 
    this.each(function(){ 
    console.log(this); 
    }) 
}; 

$(document).ready(function() { 
    $('p').logme(); 
}); 
+0

Отлично .. спасибо за объяснение ... –

0

Вы должны вызвать с помощью объекта JQuery

Попробуйте это

$(document).ready(function() { 
    $(document).alertme(); 
}); 

DEMO

+0

спасибо за Ваш ответ.. :) –

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