jQuery UI 手风琴的文档提供了 h3 和 div 组合的多种变体示例,它们成为手风琴按钮之一的标题和内容。
在我的页面中,我有每个 h3 的 ID,当有人单击其中一个手风琴按钮时,我想以编程方式访问它们。我看到的最明显的方法是在 h3 上注册一个单击侦听器并访问事件目标以提取 HTML ID,可能在手风琴调用之后。但我有点不清楚该解决方案是否正确。
让事件处理程序告诉用于构建用户单击的手风琴按钮的 h3 的 HTML ID 的首选方法是什么?
jQuery UI 手风琴的文档提供了 h3 和 div 组合的多种变体示例,它们成为手风琴按钮之一的标题和内容。
在我的页面中,我有每个 h3 的 ID,当有人单击其中一个手风琴按钮时,我想以编程方式访问它们。我看到的最明显的方法是在 h3 上注册一个单击侦听器并访问事件目标以提取 HTML ID,可能在手风琴调用之后。但我有点不清楚该解决方案是否正确。
让事件处理程序告诉用于构建用户单击的手风琴按钮的 h3 的 HTML ID 的首选方法是什么?
创建手风琴时,您可以简单地为激活事件传递事件处理程序。此事件在面板被激活后触发(动画完成后)。见http://api.jqueryui.com/accordion/
你可以做这样的事情
$( ".selector" ).accordion({
activate: function( event, ui ) {
if(!ui.newHeader.isEmptyObject()){
alert(ui.newHeader.attr('id'))
}
}
});
这会将id
被点击h3
元素的 分配给一个变量。这也应该考虑动态内容,因为它使用on
而不是仅仅click
.
$("h3").on("click", function(){
var id = $(this).attr("id");
});
但是,如果这对于动态内容不起作用,您可能想尝试这样的事情:
$("body").on("click", "h3", function(){
var id = $(this).attr("id");
});