点击div块进行文本编辑

工作需要,需要实现如下一个需求,点击模板div块,跳出文本编辑器对div文本内容进行编辑。实现效果图如下:
点击div块进行文本编辑
实现思路如下:
1.给每个需要编辑的div加上contenteditable="false"属性,表示暂不可编辑,之后写一个点击事件,点击当前div将当前div的contenteditable属性改为true,其他div都改为false。
2.第二步点击右侧文本编辑时,对contenteditable属性为true的div进行样式修改。
代码如下。

<link href="assets/css/vendor/bootstrap/bootstrap.min.css" rel="stylesheet">
 <link rel="stylesheet" href="assets/js/vendor/colorpicker/css/bootstrap-colorpicker.css">
 <body>
<!--需要编辑的div块-->
<div class='editable' contenteditable="false">公司使命</div>
<div class='editable' contenteditable="false">通过互联网服务提升生活品质</div>
<!--文本编辑器-->
<div class="writingsize">
	<label for="input01">字号:</label>
              <div class="writingsize-input">
	            <select class="chosen-select chosen-transparent form-control" id="input01">
					<option value="10px">10px</option>
					<option value="12px">12px</option>
					<option value="13px" selected = "selected">13px</option>
					<option value="15px">15px</option>
					<option value="18px">18px</option>
					<option value="20px">20px</option>
				</select>
			</div>
		</div>
		<div class="writingsize">
			<label for="colorpicker">设置:</label>
			
			<div class="colorpicker-input">
				<div class="jz-colorpicker" id="colorpicker"></div>
				<div class="overstriking ziti" id="overstriking">B</div>
				<div class="italicsty ziti" id="italicsty">I</div>
				<div class="underlinesty ziti" id="underlinesty">U</div>
				<div class="place-left" id="place-left"><img src="assets/images/styleimage/左对齐.png"></div>
				<div class="place" id="place-center"><img src="assets/images/styleimage/居中.png"></div>
				<div class="place" id="place-right"><img src="assets/images/styleimage/右对齐.png"></div>
			</div>
		</div>
<script src="assets/js/jquery.js"></script>
<!--颜色选择器-->
<script src="assets/js/vendor/colorpicker/bootstrap-colorpicker.min.js"></script>
<script>
$(function() {
         //点击div,将当前div属性contenteditable改为true,其他div改为false
		 $(".editable").click(function(e){
		        	var a = $(this).attr("contenteditable");
		        	if(a==false||a=='false'){
		        		$(".editable").attr("contenteditable",false);
		        		$(this).attr("contenteditable",true);
		        	}
		        })
             /*文本编辑器*/
			//颜色选择器
				$('#colorpicker').colorpicker();
				$('#colorpicker').colorpicker().on('showPicker', function(e){
			        var newtop = $('.dropdown-menu.colorpicker.colorpicker-visible').position().top - 45;      
			        $('.dropdown-menu.colorpicker.colorpicker-visible').css('top', newtop + 'px');
		      	});
				$('#colorpicker').on('changeColor', function(event) {
			        $('#colorpicker').css('background-color', event.color.toString());
			        $("div[contenteditable='true']").css("color",event.color.toString());
			     });
			     
			     //改变字体颜色
			    $("#input01").change(function(){
				 	var zihao = $("#input01 option:selected").val();
				 	$("div[contenteditable='true']").css("font-size",zihao);
			    });
			    //加粗
			     $("#overstriking").on('click',function(){
			     	var a = $("div[contenteditable='true']").css("font-weight");
			     	if(a!=='700'){
			     		$("div[contenteditable='true']").css("font-weight","bold");
			     		$("#overstriking").css("background-color","#75E5FF");
			     	}else{
			     		$("div[contenteditable='true']").css("font-weight","normal");
			     		$("#overstriking").css("background-color","");
			     	}
			     });
			     //斜体
			     $("#italicsty").on('click',function(){
			     	var a = $("div[contenteditable='true']").css("font-style");
			     	if(a!=='italic'){
			     		$("div[contenteditable='true']").css("font-style","italic");
			     		$("#italicsty").css("background-color","#75E5FF");
			     	}else{
			     		$("div[contenteditable='true']").css("font-style","");
			     		console.log("sssssssssss");
			     		$("#italicsty").css("background-color","");
			     	}
			     });
			     //下滑线
			     $("#underlinesty").on('click',function(){
			     	var a = $("div[contenteditable='true']").css("text-decoration");
			     	if(a!=='underline solid rgb(51, 51, 51)'){
			     		$("div[contenteditable='true']").css("text-decoration","underline");
			     		$("#underlinesty").css("background-color","#75E5FF");
			     	}else{
			     		$("div[contenteditable='true']").css("text-decoration","");
			     		$("#underlinesty").css("background-color","");
			     	}
			     });
			     //左对齐
			     $("#place-left").on('click',function(){
			     	var a = $("div[contenteditable='true']").css("text-align");
			     	console.log(a)
			     	if(a!=='left'){
			     		$("div[contenteditable='true']").css("text-align","left");
			     		$("#place-left").css("background-color","#75E5FF");
			     		$("#place-center").css("background-color","");
			     		$("#place-right").css("background-color","");
			     	}else{
			     		$("div[contenteditable='true']").css("text-align","start");
			     		$("#place-left").css("background-color","");
			     		$("#place-center").css("background-color","");
			     		$("#place-right").css("background-color","");
			     	}
			     });
			     //居中
			     $("#place-center").on('click',function(){
			     	var a = $("div[contenteditable='true']").css("text-align");
			     	console.log(a)
			     	if(a!=='center'){
			     		$("div[contenteditable='true']").css("text-align","center");
			     		$("#place-center").css("background-color","#75E5FF");
			     		$("#place-right").css("background-color","");
			     		$("#place-left").css("background-color","");
			     	}else{
			     		$("div[contenteditable='true']").css("text-align","start");
			     		$("#place-center").css("background-color","");
			     		$("#place-left").css("background-color","");
			     	}
			     });
			     //右对齐
			     $("#place-right").on('click',function(){
			     	var a = $("div[contenteditable='true']").css("text-align");
			     	console.log(a)
			     	if(a!=='right'){
			     		$("div[contenteditable='true']").css("text-align","right");
			     		$("#place-right").css("background-color","#75E5FF");
			     		$("#place-left").css("background-color","");
			     		$("#place-center").css("background-color","");
			     	}else{
			     		$("div[contenteditable='true']").css("text-align","start");
			     		$("#place-right").css("background-color","");
			     		$("#place-left").css("background-color","");
			     		$("#place-center").css("background-color","");
			     	}
			     });
})
</script>
</body>