JQuery функции - PullRequest
       11

JQuery функции

2 голосов
/ 29 апреля 2011

Я пытаюсь написать свою собственную функцию, как без удачи. "... это не функция"

jQuery.fn.extend ({
myFirstFunction : function () { alert ("first function") }
});

<script type="text/javascript">
    $(function(){           
              $.myFirstFunction();
    });
</script>

Ответы [ 4 ]

5 голосов
/ 29 апреля 2011
$.myFirstFunction = function () { alert ("first function") };

<script type="text/javascript">
$(function(){           
          $.myFirstFunction();
});
</script>

http://jsfiddle.net/Mdqw6/

Или

jQuery.fn.extend ({
  myFirstFunction : function () { alert ("first function") }
});

<script type="text/javascript">
    $(function(){           
              $(element).myFirstFunction();
    });
</script>

Подробнее на http://docs.jquery.com/Plugins/Authoring

3 голосов
/ 29 апреля 2011

Существует разница между $.extend() и $.fn.extend(), в зависимости от того, что вы хотите сделать и как вы хотите получить доступ к вашей функции:

$.fn.extend({
    myFunction: function(){...}
});
$('div').myFunction();

$.extend({
    myFunction2: function(){...}
});
$.myFunction2();

В вашем случае используйте $.extend() идолжно работать нормально.

1 голос
/ 29 апреля 2011

Если вы хотите добавить «глобальное» средство jQuery, вы, вероятно, захотите:

jQuery.extend({
  myFirstFunction : function () { alert ("first function") }
});

Это просто "jQuery.extend", а не "jQuery.fn.extend". Вы также можете просто написать:

jQuery.myFirstFunction = function() {
  alert("hello world");
};

Использование "extend ()" удобно при добавлении нескольких функций.

1 голос
/ 29 апреля 2011

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

<script type="text/javascript">
    jQuery.fn.nameOfFunction = function(){
      alert('nameOfFunctuin was called');
    }

    $().ready(function(){
      $('<div></div>').nameOfFunction()
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...