jQuery Mobile で折りたたみ可能なリストの折りたたみ/展開ハンドラーを動的に設定して設定しようとしています。展開ハンドラーは期待どおりに動作していますが、要素が展開されると、リストの項目ごとに折りたたみハンドラーが 1 回トリガーされます。
<head>
<link rel="stylesheet" href="jquery.mobile-1.2.0-alpha.1.css?gfd" />
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://jquerymobile.com/demos/1.2.0-alpha.1/js/jquery.mobile-1.2.0-alpha.1.js"></script>
</head>
<script>
$(document).ready(function () {
for (var i = 0; i < 4; i++) {
var element = $("#listElementTemplate").clone();
element.find('h3').append("list Element: " + i);
$("#list").append(element);
element.on('expand', function () {
alert("expand: "+i);
});
element.collapsible();
element.on('collapse', function () {
alert("collapse: "+i);
});
}
});
</script>
<body>
<div id='listElementTemplate' data-role="collapsible" data-collapsed='true'>
<h3 class='chart-elem-data'>
</h3>
<p id=''>Content</p>
</div>
<div data-role="page" class="type-interior">
<div data-content-theme="c" id="list" data-role="collapsible-set"></div>
</div>
</body>