jQuery:将事件处理程序添加到刚创建的元素中
我有一个声明添加一个新的div:
$('#dates').append(''+dd+'
'+dm+'');
但我不仅要创建元素,还要为其分配(’click’)动作。 当然我可以添加生成的id然后通过这个id访问创建的元素,但我觉得有更美的解决方案。
是吗?
您不需要添加id,然后让jQuery解析选择器以查找元素。 你可以直接这样做:
$('#dates').append( $(''+dd+'
'+dm+'') .click(function(){ // handle click }) );
你可以使用jquery ON ..而且你可以使用类选择器代替id :),如$(".classname")
$('#dates').append(''+dd+'
'+dm+''); $('#dates').on('click','.'+classname, function(){ alert("on div click"); }); $('#dates').on('click','.month_selector', function(){ alert("on SPAN click"); });