ブートストラップ datepicker プラグインを使用しておりheadTemplate
、プラグインの最後でオブジェクトをオーバーロードする必要があります。
それは次のようになります。
var DPGlobal = {
modes: [ ... ],
isLeapYear: function ( year ) {
[...]
},
[...]
headTemplate: '<thead>'+
'<tr class="datepicker-btn-group">'+
'<th class="prev"><div class="dp-btn"><i class="timely-icon-arrow-left"/></div></th>'+
'<th colspan="5" class="switch"><div class="dp-btn"></div></th>'+
'<th class="next"><div class="dp-btn"><i class="timely-icon-arrow-right"/></div></th>'+
'</tr>'+
'</thead>',
contTemplate: '<tbody><tr><td colspan="7" class="grid-picker"></td></tr></tbody>'
};
確かに、私はまだJavaScriptを学んでいるので、次のコードが私が望むことをしない理由を理解しようとしています。
まず、外部 JS ファイルが読み込まれ、関数が使用可能であることを確認する必要があります。jQuery の.load()
メソッドでコールバックを使用してそれを実行しようとしています。ターゲットでいくつかの参照エラーが発生しており、document
これのベストプラクティスについて確かに混乱しています-本当に言いたいだけです
$( 'lib/bootstrap-datepicker/js/bootstrap-datepicker.js' ).load( function() {
// overwrite/load function
});
しかし、それは多くのターゲット/参照エラーをスローしているので、代わりに次のことを試しています.load()
.目標。これはしばしば私を混乱させます-何らかの形でグローバルで特定のものを参照しない関数を実行したいときにjQueryで物事を参照します(したがって、document
参照の試み)。
$( document ).load( 'lib/bootstrap-datepicker/js/bootstrap-datepicker.js', function() {
origDPGlobal.headTemplate = DPGlobal.headTemplate;
DPGlobal.headTemplate = // 'string of HTML for new template';
});
最後に (皆さん、申し訳ありません)、headTemplate が最初にコロン経由でどのように宣言されているかを理解していないことです:
var DPGlobal = {
[...],
headTemplate: '// html string',
contTemplate: '//html string'
};
このように、これらを配列からプロトタイプ オブジェクトとして再宣言する必要がありますか?
DPGlobal[headTemplate] = '// new html string';
DPGlobal[contTemplate] = '// new html string';
初心者を助けてくれてありがとう!