如何使用jQuery UI Accordion访问单击标题(h3)的ID?

时间:2013-04-20 13:38:49

标签: javascript jquery jquery-ui javascript-events

The documentation for the jQuery UI accordion给出了h3和div组合的多种变体的示例,它们成为其中一个手风琴按钮的标题和内容。

在我的页面中,每个h3都有ID,当有人点击其中一个手风琴按钮时,我想以编程方式访问它们。我看到的最明显的方法是在h3上注册一个点击监听器并访问事件目标以拉取HTML ID,可能是在手风琴调用之后。但是我不清楚这个解决方案是否是正确的解决方案。

让事件处理程序告诉h3用于构建用户点击的折叠按钮的HTML ID的首选方法是什么?

2 个答案:

答案 0 :(得分:2)

创建手风琴时,您只需传递activate-event的事件处理程序即可。 激活面板后(动画完成后)将触发此事件。见http://api.jqueryui.com/accordion/

你可以做这样的事情

$( ".selector" ).accordion({
activate: function( event, ui ) {
 if(!ui.newHeader.isEmptyObject()){
  alert(ui.newHeader.attr('id'))
 }
}
});

答案 1 :(得分:1)

这会将点击的id元素的h3分配给变量。这也应该考虑动态内容,因为它使用的是on,而不仅仅是click

$("h3").on("click", function(){
     var id = $(this).attr("id");
});

如果这不起作用,对于动态内容,您可能想尝试这样的事情:

$("body").on("click", "h3", function(){
     var id = $(this).attr("id");
});