我想添加一个事件处理程序给一些动态添加的元素。我将我的问题简化为下面的基本代码。我在功能上使用新的JQuery 1.7来说:“当点击它们时,CancelSurvey id元素中的所有标签都会调用此通知函数。”jquery添加事件
function notify(event) {
console.log(event.data.name);
}
$('#CancelSurvey').on('click', 'label', { name: $(this).attr("id") }, notify);
我想传递标签的id作为参数“name”。当我尝试提醒它时,它是未定义的(它们是在创建的html中定义的)。我相信在这种情况下使用$(this)不会引用标签选择器。它实际上似乎是引用文档本身。关于如何完成这一任何想法?
试图通过点击标签的ID。想要做这个天气或没有我知道的CancelSurvey。这种情况有点简化。匿名函数不适合我想要做的全部范围 – JBone 2012-04-12 17:34:53
@JBone:请参阅我的答案的后半部分。您不需要将其存储在事件对象中。只需在处理程序中使用'this.id'。如果函数是匿名的,则无关紧要。我正在使用'notify'函数。 – 2012-04-12 17:36:34