可通过设置标签元素的data-gjs属性data-gjs-removable,data-gjs-editable,data-gjs-draggable,data-gjs-copyable来控制元素是否可删除、可编辑、可拖拽、可复制等操作。
示例代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>GrapesJS</title>
<link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/grapesjs-preset-webpage.min.css">
<link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/grapes.min.css">
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/grapes.min.js"></script>
<!--引入grapesjs-preset-webpage-->
<link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/grapes.min.css">
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/grapesjs-preset-webpage.min.js"></script>
<style>
body,
html {
height: 100%;
margin: 0;
}
</style>
</head>
<body>
<div id="gjs" style="height:0px; overflow:hidden;">
<h1 data-gjs-editable="false" data-gjs-removable="false">不能修改,不能删除</h1>
<h1 data-gjs-editable="true" data-gjs-removable="false">能修改,不能删除</h1>
<h1 data-gjs-editable="true" data-gjs-removable="true">能修改,能删除</h1>
<h1 data-gjs-draggable="false" data-gjs-copyable="false">不能拖动,不能复制</h1>
<div>
<div data-gjs-draggable="false" data-gjs-removable="false" data-gjs-propagate='["removable", "draggable"]'>
<p>能修改,不能拖动,不能删除1</p>
<p>能修改,不能拖动,不能删除2</p>
<div>
<div data-gjs-stop="1" data-gjs-removable="true" data-gjs-draggable="true" data-gjs-propagate='["stop"]' style="color:red">
<div>可拖拽可删除1</div>
<div>可拖拽可删除2</div>
</div>
<div data-gjs-stop="1" data-gjs-removable="true" data-gjs-editable="false" data-gjs-propagate='["stop","editable"]' style="color:blue">
<div>不可修改,可删除1</div>
<div>不可修改,可删除2</div>
</div>
</div>
<p>能修改,不能拖动,不能删除3</p>
</div>
</div>
</div>
<script type="text/javascript">
var editor = grapesjs.init( {
showOffsets: 1,
noticeOnUnload: 0,
container: '#gjs',
height: '100%',
nonEditable: ['h1', 'p'],
fromElement: true,
storageManager: {autoload: 0}
});
</script>
</body>
</html>
网友回复
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?
WebMCP是干啥的?


