【发布时间】:2021-12-03 20:27:08
【问题描述】:
我的场景是通过单击添加按钮生成新的文本区域,它类似于转发器字段。 我想在每个新创建的 textarea 和所有其他已经存在的文本区域上设置 Tinymce。 我遇到的问题是现有的 textarea 工作正常,但其他动态生成的不能正常工作。 TinyMCE 文本区域正在显示,但完全不可点击或编辑。
HTML 代码:
<!-- empty hidden one for jQuery -->
<tr class="empty-row screen-reader-text">
<tr class="empty-row screen-reader-text">
<td>
<input type="text" class="widefat" name="index[]" />
</td>
<td><input type="text" class="widefat" name="name[]" /></td>
<td><input type="file" class="widefat" name="attachment[]" />
<input type="hidden" name="attachment_current[]" >
</td>
<td>
<textarea class="widefat tiny" name="anno_text[]" ></textarea>
</td>
<td><input type="text" class="widefat" name="url[]" value="http://" /></td>
<td><a class="button remove-row" href="#">Remove</a></td>
</tr>
</tbody>
</table>
<p><a id="add-row" class="button" href="#">Add another</a></p>
jQuery 代码:
jQuery(document).ready(function( $ ){
$.fn.extend({
initTiny: function() {
tinymce.init({
mode: "textareas",
height: 100
});
}
});
$( '#add-row' ).on('click', function() {
var row = $( '.empty-row.screen-reader-text' ).clone(true);
row.removeClass( 'empty-row screen-reader-text' );
row.insertBefore( '#repeatable-fieldset-one tbody>tr:last' );
$("textarea", row).initTiny();
return false;
});
$(".tiny").initTiny();
$( '.remove-row' ).on('click', function() {
$(this).parents('tr').remove();
return false;
});
});
我得到的结果是我附上了一张图片。
第一个 tinymce 编辑器工作正常,但之后就没有一个可点击的 tinymce 编辑器
【问题讨论】:
-
@Twisty 不,这也不起作用,实际上我有一个 tinymce 编辑器,但对于新生成的 textarea,它是不可编辑和可点击的。
标签: javascript jquery jquery-plugins tinymce textarea