我正在尝试从生成到 div 的按钮中捕获事件(由另一个 jQuery 调用提供)。我想知道 jQuery 调用应该在哪里?进入主页面还是进入之前的 jQuery 调用生成的 html?
另外,jQuery 如何处理具有相同名称的对象?
谢谢!
如果您正在处理现在或将来退出的对象,则必须使用 live 函数来附加您的事件:
描述:为现在和将来匹配当前选择器的所有元素附加一个事件处理程序。
如果您有多个与选择器匹配的对象,您将获得一个对象数组
使用jsFiddle创建一个示例。目前很难说你的问题是什么。
要回答您的第一个问题,您可以在“主页”和“生成的 html”中注册您的事件,具体取决于任务。而且由于没有代码/示例,我无法判断哪个更适合您。
问题“jQuery 如何处理具有相同名称的对象?” 真的没有意义。JQuery 是一个 JavaScript 库,而 JavaScript 与任何其他编程语言一样,每个对象都有一个唯一的名称。也许您的意思是元素类名称,jQuery 将它们视为元素的集合。
如果要将事件绑定到尚不存在的内容,则可以将其放在生成的 html 中。
像这样:
$("#generatedButton").on("click",function(){
//do something..
});
或者
您可以将其放在主页中,并将事件绑定到已经存在的更高包装器并单独指定事件目标
像这样:
$("#mainWrapper").on("click", "#generatedButton" , function(){
//do something..
});
所有这些都使用.on()
.