I did everything I could to make it happen, but without success.
The problem is that I create an element on runtime then bind a function to the element like the fo
Change
$('#runtime').bind('click',func_name());
to
$('#runtime').live('click',func_name);
or (as of jQuery 1.7):
$('#runtime').on('click',func_name);
Two things to note:
func_name()
to func_name
. You don't want to call the function when you bind the handler - you just want to reference it.bind
won't do you any good, because #runtime
doesn't exist until after you've clicked .rem
. That's why you need either live
or on
(depending upon your jQuery version).And just for good measure: here's a good reference on why you should be using jQuery.on
anyway.
You don't want to run the function at the point in the code, so remove the ()
:
$('#runtime').bind('click', func_name);
If you're using jQuery 1.7+, though, you should either use .on():
$('#runtime').on('click', func_name);
or use a .click() handler directly:
$('#runtime').click(func_name);
try this
$(document).ready(function(){
$('.rem').click(function(){
$('<a id="runtime" href="javascript:void(0);">runtime</a>').bind('click',func_name).appendTo("body");
});
});//End of doc
function func_name(){
alert('I got it!');
}
Since you are binding the object before it has been created, you are not getting the desired result.