我将使用tinymce html编辑器
我的问题是当编辑器位置改变时,时间编辑器将为空
当向下箭头单击编辑器位置未更改但内容为空时看到图像
我可以将javascript代码用于向上箭头和向下箭头代码
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if friendSelector.selectedSegmentIndex == 0 {
print("0")
cell = self.friendsTable.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! FriendsTableViewCell
cell.nameLabel.text = friends[indexPath.row]
cell.bacLabel.text = String(friendsBac[indexPath.row])
cell.statusImageView.image = friendsImage[indexPath.row]
return cell
}
if friendSelector.selectedSegmentIndex == 1 {
print("1")
celladd = self.friendsTable.dequeueReusableCell(withIdentifier: "celladd", for: indexPath) as! FriendsAddTableViewCell
celladd.nameLabel.text = requested[indexPath.row]
celladd.statusImageView.image = UIImage(named: "greenlight")
return celladd
}
}
如何做这个位置改变textarea id给动态意味着id不是静态的。
答案 0 :(得分:1)
您遇到的问题与insertBefore
和insertAfter
操纵DOM的方式有关。如果从DOM中删除基础<textarea>
,则会断开与TinyMCE的连接。当您将<textarea>
重新插入DOM时,其“新”<textarea>
和TinyMCE不再与<textarea>
相关联。
要成功移动<textarea>
,您需要做3件事......
triggerSave()
以使用TinyMCE的当前值更新基础<textarea>
。在您键入时,TinyMCE不会使<textarea>
保持同步 - 这对编辑器来说会产生大量开销,因此在您键入时不会执行此操作。 triggerSave()
将编辑器的当前内容推回<textarea>
。 https://www.tinymce.com/docs/api/tinymce/root_tinymce/#triggersave remove()
方法从您要移动的<textarea>
中删除TinyMCE。删除将正确地从<textarea>
“断开”TinyMCE。您可以使用基础<textarea>
的ID来定位TinyMCE的特定实例:tinymce.remove('#idoftextarea');
<textarea>
上移动<textarea>
重新初始化TinyMCE之后。您可以像第一次加载页面时一样使用tinymce.init({});
将TinyMCE重新加载到<textarea>
。如果您按照这些步骤操作,则在DOM中移动<textarea>
后,内容仍应正常显示。