私のapp.Whenでイベントが発生し、いくつかの更新を行うと、私は、私のapp.Whenで の)に2回発生するPhoneGapとjQuery Mobileに問題があるWebサービス(updateBooksInMybooks()
コード内)PhonegapとjQueryモバイルイベントが一度に2回発生する
チェックボックスをオンにして、バックグラウンドで更新する必要があります.Nothing more.ifチェックボックスがオンになっている場合は、そのままにしてください。チェックされていない(通常の場合)。
しかし、チェックボックスをタップ/チェックすると正しく動作しているように見えますが、イベントは2回ずつ発生します。
- このチェックボックスをタップ/チェックすると、最初に(そうする必要があります)。
- 2回目に画面上の任意の場所をクリック/タップすると再び起動します。
これは、ハングして画面上で新しいクリック/タップを待つようなものなので、再び発砲する可能性があります。
...
<div data-role="page" data-theme="c" id="detailpage" data-url="detailpage.html">
<div data-role="header" id="hdrBokDetaljer" name="hdrBokDetaljer" data-theme="c" >
...
</div>
<div data-role="content" id="contentBokDetaljer" name="contentBokDetaljer" >
...
<div id="detailmybooks">
<fieldset id="mybooksGroup" data-role="controlgroup">
<input type="checkbox" name="checkInMybooks" id="checkInMybooks" class="custom" />
<label for="checkInMybooks">My books</label>
</fieldset>
</div>
</div>
<div data-role="footer" id="ftrBokDetaljer" name="ftrBokDetaljer" ></div>
<script type="text/javascript" charset="utf-8">
$(document).delegate('#detailpage', 'pagecreate', function() {
$('#checkInMybooks').attr("checked", detailCheckboxVar);
});
$('#checkInMybooks').change(function() {
//event.preventDefault();
updateBooksInMybooks($('#detailbookid').html());
return false;
});
</script>
</div>
...