The documentation for the jQuery UI accordion给出了h3和div组合的多种变体的示例,它们成为其中一个手风琴按钮的标题和内容。
在我的页面中,每个h3都有ID,当有人点击其中一个手风琴按钮时,我想以编程方式访问它们。我看到的最明显的方法是在h3上注册一个点击监听器并访问事件目标以拉取HTML ID,可能是在手风琴调用之后。但是我不清楚这个解决方案是否是正确的解决方案。
让事件处理程序告诉h3用于构建用户点击的折叠按钮的HTML ID的首选方法是什么?
答案 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");
});