使用javascript定制Contenteditable行为
目前在firefox下,当我按下一个contenteditable段落中的return时,它会插入一个br标签创建一个新的段落标签,然后在该新段落中放置一个br标签。 我想修改这样的行为
我尝试过捕获按键并检查返回键,删除键和退格键,但我似乎无法准确获取当前的插入位置,或者如果我重写它,以防止默认行为。
如果有人知道如何去做,我会发现它最有帮助。
也许有人甚至知道已经有这种行为的用户代理(浏览器)。 这是可以接受的。
谢谢,
丹尼尔
要编辑内容可编辑的行为,我会这样做:
$("#editable").bind("keypress",function(e){
if(e.keyCode==13 && e.shiftKey){ //enter && shift
e.preventDefault(); //Prevent default browser behavior
this.html(this.html+"<br>");
}
});
你可以编辑html
函数中的内容。 PS:我不记得jQuery是否在事件对象上有shiftKey
和keyCode
...如果出现任何问题, e.originalEvent
e
更改为e.originalEvent
。
获取carret位置 :在非IE中:
document.getSelection().anchorOffset
链接地址: http://www.djcxy.com/p/74321.html