Bwyss Bwyss - 5 months ago 60
jQuery Question

jQuery simulate click

I want to trigger a function when the page is loaded. There are many ways to do this.
However, when I add

$('#button').click
in front of my function, then the
getType
function is not recognized. For example:

$('#button').click(function getType(id) {
//...some code
});



error: getType is not defined


What am I doing wrong?

Just to clarify, in this case I cannot use an anonymous function. Also, it does not matter to me whether I use
$(document).ready
or
$(window).bind("load", function()
, but using these I still get the “getType is not defined” error.

Answer

You either have you make your function anonymous:

$('#button').click(function() {
    //...some code
});

Or pass the function itself:

function getType() {
    //...some code
}

$('#button').click(getType);

If you just want to trigger a click, call .click():

$('#button').click();

Also, your id parameter won't be the element's id. It'll be the click event object. To get the element's id, you can refer to the clicked element using this:

$('#button').click(function() {
    var id = this.id;
});

I suggest you read a few JavaScript and jQuery tutorials (in that order).

Comments