提交 cf93f392 编写于 作者: C campaign

by zhanyi

上级 c5af79f5
......@@ -578,7 +578,7 @@
* //本方法执行后
* startContainer = <b>; startOffset = 1
*/
txtToElmBoundary:function () {
txtToElmBoundary:function (ignoreCollapsed) {
function adjust(r, c) {
var container = r[c + 'Container'],
offset = r[c + 'Offset'];
......@@ -595,7 +595,7 @@
}
}
if (!this.collapsed) {
if (ignoreCollapsed || !this.collapsed) {
adjust(this, 'start');
adjust(this, 'end');
}
......
......@@ -46,26 +46,55 @@ UE.plugins['horizontal'] = function(){
return domUtils.filterNodeList(this.selection.getStartElementPath(),'table') ? -1 : 0;
}
};
me.addListener('delkeyup',function(){
// me.addListener('delkeyup',function(){
// var rng = this.selection.getRange();
// if(browser.ie && browser.version > 8){
// rng.txtToElmBoundary(true);
// if(domUtils.isStartInblock(rng)){
// var tmpNode = rng.startContainer;
// var pre = tmpNode.previousSibling;
// if(pre && domUtils.isTagNode(pre,'hr')){
// domUtils.remove(pre);
// rng.select();
// return;
// }
// }
// }
// if(domUtils.isBody(rng.startContainer)){
// var hr = rng.startContainer.childNodes[rng.startOffset -1];
// if(hr && hr.nodeName == 'HR'){
// var next = hr.nextSibling;
// if(next){
// rng.setStart(next,0)
// }else if(hr.previousSibling){
// rng.setStartAtLast(hr.previousSibling)
// }else{
// var p = this.document.createElement('p');
// hr.parentNode.insertBefore(p,hr);
// domUtils.fillNode(this.document,p);
// rng.setStart(p,0);
// }
// domUtils.remove(hr);
// rng.setCursor(false,true);
// }
// }
// })
me.addListener('delkeydown',function(name,evt){
var rng = this.selection.getRange();
if(domUtils.isBody(rng.startContainer)){
var hr = rng.startContainer.childNodes[rng.startOffset -1];
if(hr && hr.nodeName == 'HR'){
var next = hr.nextSibling;
if(next){
rng.setStart(next,0)
}else if(hr.previousSibling){
rng.setStartAtLast(hr.previousSibling)
}else{
var p = this.document.createElement('p');
hr.parentNode.insertBefore(p,hr);
domUtils.fillNode(this.document,p);
rng.setStart(p,0);
}
domUtils.remove(hr);
rng.setCursor(false,true);
rng.txtToElmBoundary(true);
if(domUtils.isStartInblock(rng)){
var tmpNode = rng.startContainer;
var pre = tmpNode.previousSibling;
if(pre && domUtils.isTagNode(pre,'hr')){
domUtils.remove(pre);
rng.select();
domUtils.preventDefault(evt);
return true;
}
}
})
};
......@@ -54,7 +54,9 @@ UE.plugins['keystrokes'] = function() {
if (keyCode == 8) {
rng = me.selection.getRange();
collapsed = rng.collapsed;
if(me.fireEvent('delkeydown',evt)){
return;
}
var start,end;
//避免按两次删除才能生效的问题
if(rng.collapsed && rng.inFillChar()){
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册