解决tinymce中富文本中dom元素标签中属性不生效的问题

本文讲述了在Tinymce中遇到的DOM元素属性不生效问题,发现Tinymce默认只对部分属性生效,通过在初始化配置中添加`extended_valid_elements`解决了自定义属性被过滤的问题。
摘要由CSDN通过智能技术生成

解决tinymce中富文本中dom元素标签中属性不生效的问题

问题

最近在使用api给tinymce编辑器中内容节点增加属性时,发现有些属性即使使用api增加上去,但是经过tinymce过滤后,并没有呈现到最终的页面的节点上,比如onmousedown
使用onmousedown可以使鼠标光标无法落在该元素内,可以实现很多编辑器编辑操作的限制,但是通过tinymce.activeEditor.selection.setContent()方法添加节点时,发现最后页面上渲染出来的节点中并没有onmousedown属性。
如下

tinymce.activeEditor.selection.setContent(<span onmousedown="return false">测试节点</span>);

实际输出的页面效果
在这里插入图片描述

解决方案

官方文档其实有相应介绍,tinymce只对默认的几种属性生效,其他的会过滤掉,但是支持添加自定义生效的标签属性。

// 在tinit中添加属性extended_valid_elements
tinymce.init({
  selector: 'textarea',
  extended_valid_elements: 'span[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]'
});

这样再通过自定义节点或者给标签增加属性时,以上写入的属性都不会被过滤了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值