I create a anchor using jQuery and the onclick event seems be triggered when the element is created. I've used this method of creating elements a few times with this project without a problem, have I got the wrong end of the stick?
jQuery('<a/>', {
href: '#',
name: 'link_html_edit',
id: 'link_html_edit',
html: 'input HTML text',
onclick: alert('test')
}).appendTo(spanDefaultValue);
Thanks
Looking at the jQuery documentation on this page you should be doing this:
$("<a/>", {
href: '#',
name: 'link_html_edit',
id: 'link_html_edit',
html: 'input HTML text',
click: function(){
alert('test');
}
}).appendTo("body");
You're calling alert('test');
and assigning it's return value to onclick
. Use this instead:
onclick: function(){ alert('test'); }
Since I'm sure alert('test')
is just an example I should also point out that if you have the same problem with some function you likely can just change your code from:
onclick: somefunction()
To:
onclick: somefunction
You only need to wrap it in an anonymous function the way I did with alert('test');
if you're passing arguments to the function other than the event
object that is normally passed to an event handler.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With