こんにちは私はnavbarに次のようなリストを持っています:
<div data-role="navbar">
<ul id="mylist">
<li onclick=getData() id="first"><a href="#">First</a></li>
<li onclick=getData() id="second"><a href="#">Second</a></li>
<li onclick=getData() id="third"><a href="#">Third</a></li>
<li onclick=getData() id="four"><a href="#">Four</a></li>
</ul>
</div>
私はgetData関数を次のように持っています:
<script type="text/javascript">
function getData()
{
console.log ("first line in getData>>>>");
$("#first").live("click",function()
{
console.log("click on first>>>");
chkTitle=$(this).text();
responseData();
});
$("#second").live("click",function()
{
console.log ("click on second>>>");
chkTitle=$(this).text();
responseData();
});
$("#third").live("click",function()
{
console.log("click on third>>>");
chkTitle=$(this).text();
responseData();
});
$("#four").live("click",function()
{
console.log("click on four>>>");
chkTitle=$(this).text();
responseData();
});
}
</script>
初めてクリックしたときは、すべて問題ありません。しかし、2番目に仮定をクリックすると、1回印刷されます: "getData >>>>"の最初の行が2回印刷されます:"2番目をクリック>>>"3回目に3回印刷されます。
getData >>>>の最初の行は1回だけ印刷されますが、live( "click"、function()データは毎回ますます印刷されます。なぜそうなのですか?