
DIV直接使用focus()和blur()两个方法是无效的,需添加tabindex="0"或者contenteditable="true"属性
①:设置div为可编辑状态,则可点击获取焦点,同时div的内容也是可以编辑的;如:
<div
contenteditable="true">11111111111111</div>
②:设置div的tabindex,此时div的内容是不可编辑的;如:
<div
tabindex="0">11111111111111</div>
PS:设置tabindex属性,按键盘Tab键可让其获取焦点,其中tabindex的值越小在tab键切换的时候就会首先聚焦
更简洁的写法是$('.box').click(function(){
$('<input type="text"/>').appendTo('.box').focus()
})
.html()是js的方法,如果习惯了使用jq,就放弃这个方法吧
在可编辑的DIV里,加上blur事件,就是当失去焦点时,获取失去焦点的DIV的ID,然后保存到全局变量里,这样你在做添加图片时,可以直接读取这个全局变量来获取最后是哪个DIV失去了焦点。
用jquery的话,一句代码就能为所有的DIV添加上失去焦点事件:
$("div").on("blur",function(){var id=$(this).prop("id")
})
上面是为所有的DIV绑定了事件,但你可以在实际中,根据自己的需要来“缩小范围”,比如你要监听的只是其中包含“edit”样式的DIV,改成:
$("div.edit").on("blur",function(){var id=$(this).prop("id")
})
你要插入图片的话,要不要记录光标所在的位置?
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)