JS原生实现 contenteditable 属性的 onchange 事件

<b data-click="text1_change" contenteditable="true">This is a String.</b>

<script>
function text1_change(sef) {
	sef.setAttribute('data-old', sef.innerHTML);
	addEvent(sef, 'blur', text1_blur);
}
function text1_blur(e) {
	var sef = e.target||e.srcElement, val = sef.innerHTML;
	delEvent(sef, 'blur', text1_blur);
	if (val === sef.getAttribute('data-old'))
		return;

	if (!confirm('是否同步修改所有标题?')) return;
	var a = document.querySelectorAll('#igbox > ul > li > table > tbody > tr > td.caption > b');
	for (var i = 0; i < a.length; i++) {
		a[i].innerHTML = val;
	}
	
	// 重写缓存
	a = get_print_settings();
	a['texts']['text1'] = val;
	add_cache(window.PRINT_SETTINGS_KEY,JSON.stringify(a));
}
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值