ShaneKm
ShaneKm

Reputation: 21328

jquery functions

I'm trying to write my own function like with no luck. "...is not a function"

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

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

Upvotes: 2

Views: 126

Answers (4)

DarthJDG
DarthJDG

Reputation: 16591

There is a difference between $.extend() and $.fn.extend(), depending on what you want to do and how you want to access your function:

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

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

In your case, use $.extend() and it should work fine.

Upvotes: 3

Pointy
Pointy

Reputation: 413727

If what you want to do is add a "global" jQuery facility, you probably want:

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

It's just "jQuery.extend", not "jQuery.fn.extend". You can also just write:

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

Using "extend()" is handy when you're adding a bunch of functions.

Upvotes: 1

Jishnu A P
Jishnu A P

Reputation: 14382

$.myFirstFunction = function () { alert ("first function") };

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

http://jsfiddle.net/Mdqw6/

Or

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

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

Read more at http://docs.jquery.com/Plugins/Authoring

Upvotes: 5

netbrain
netbrain

Reputation: 9304

Try this.

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

    $().ready(function(){
      $('<div></div>').nameOfFunction()
    });
</script>

Upvotes: 1

Related Questions