Saya memiliki grup bidang gaya "pengulang" pada halaman opsi khusus. Ada editor visual aktif dalam keadaan tersembunyi, dan ketika pengguna mengklik "tambah baru" seluruh baris dikloning. Saya kemudian perlu menginisialisasi editor visual di baris kloning. Kode saya:
$('.repeater-add-new').click(function(event) {
event.preventDefault();
var target = $(this).data('repeater');
$( '#' + target).find('.repeater-row:not(.clone) .repeater-content.in').collapse();
var newRow = $( '#' + target + ' .repeater-row.clone' ).clone().appendTo( '#' + target + ' .repeater-row-wrapper' ).removeClass('clone');
rebuildIndex(target);
// Initialize editors if needed
newRow.find('.wp-editor-wrap').each(function(index, el) {
var ed_id = $(this).find('textarea').attr('id');
tinymce.init(tinyMCEPreInit.mceInit[ed_id]);
tinymce.execCommand('mceAddEditor', false, ed_id);
quicktags({id : ed_id});
});
});
Tangkapan layar antarmuka:
Saat halaman dimuat, saya mendapatkan kesalahan konsol:
UnEught TypeError: Tidak dapat membaca properti 'onpageload' dari undefined
Dan tentu saja editornya tidak berfungsi. Setelah saya menyimpan halaman itu tentu saja berfungsi dengan baik, tapi saya perlu fungsional ketika baris ditambahkan juga.
Jawaban:
Apakah Anda berhasil membuat editor berfungsi tanpa javascript Anda termasuk? Jika demikian cobalah untuk membuat template yang termasuk editor tinymce yang berfungsi dan kemudian menulis ulang javascript Anda untuk menyalin template itu menggunakan
WithDataAndEvents
argumenclone()
fungsi jQuery yang disetel ke true.Sebagai contoh:
sumber