Backbone.jsを使用してコンテンツを置き換える次のコードがあります
コンテンツを置き換えるとチェックボックスボタンが大きくなる理由がわかりません。単純に、次のコードを使用してチェックボックスをオンにします
$('.checkWeek').button();
Backbone.jsを使用してコンテンツを置き換える次のコードがあります
コンテンツを置き換えるとチェックボックスボタンが大きくなる理由がわかりません。単純に、次のコードを使用してチェックボックスをオンにします
$('.checkWeek').button();
現時点では、コードはテンプレートをdiv
タグに保存します-呼び出すたびbutton
にテンプレートが変更されます。これを回避するにはscript
、タイプ付きのタグを使用してtext/template
、Javascriptとして実行されないようにします。
今のリグス:
<div data-template-name="central-home">
<div data-template-name="">
<input type="checkbox" class="checkWeek" id="checkWeekM" />
<label for="checkWeekM">L</label>
</div>
</div>
への変更:
<script data-template-name="central-home">
<div data-template-name="">
<input type="checkbox" class="checkWeek" id="checkWeekM" /><label for="checkWeekM">L</label>
</div>
</script>
Javascriptを変更しないと、テンプレートは見つかりません。したがって、この行も更新する必要があります。
content.view = ...$.trim($("[data-template-name='"+ template_name +"'] div").html()...
テンプレートをdiv内に配置する必要がある場合:
content.view = ...$.trim($("[data-template-name='"+ template_name +"']").html() ...
$('.checkWeek').button();
その理由は、クリックするたびに を呼び出し続けるため、JQuery が面白いことをして aspan
内に aspan
を追加し、サイズが大きくなるためだと思います。
$('.checkWeek').button();
簡単な修正は、ボタンが既に存在する (または表示されている) 場合は呼び出さないことです。
// if button already exists then dont add it again.
if(!$('label[for=checkWeekM]').hasClass('ui-button'))
$('.checkWeek').button();
ここを見てください:http://jsfiddle.net/Thxtr/3/
要素ごとに1回、または合計で1回だけ$('.checkWeek').button()
呼び出す必要があると思います。.checkweek
その場合、可能な回避策は次のとおりです。
$('.checkWeek').button()
ます(ただし、テストが何であるかはわかりません)。$('.checkWeek')
より選択的にします。つまり、新しく追加された要素のみを選択します。$('.checkWeek').button('destroy').button()
(または同様の - プラグインの API ドキュメントを検索する必要があります)。アプリ (およびプラグイン) をより完全に理解しないと、これらの可能性のどれが最も適切かを判断できません。