可通过设置标签元素的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>
网友回复