|
@@ -37,6 +37,7 @@ class EditableSpan extends Component{
|
|
|
this.handleKeydown = this.handleKeydown.bind(this);
|
|
|
this.handleKeyup = this.handleKeyup.bind(this);
|
|
|
this.moveEnd = this.moveEnd.bind(this);
|
|
|
+ this.stopIt = this.stopIt.bind(this);
|
|
|
}
|
|
|
handleFocus(e){
|
|
|
e.stopPropagation();
|
|
@@ -159,6 +160,15 @@ class EditableSpan extends Component{
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ stopIt(e){
|
|
|
+ if(e.returnValue){
|
|
|
+ e.returnValue = false ;
|
|
|
+ }
|
|
|
+ if(e.preventDefault ){
|
|
|
+ e.preventDefault();
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
handleKeyup(e){
|
|
|
const {boxMark,handleKeydown,i,value,removeId,handleClear,delSingleLable} = this.props;
|
|
|
const {preVal,index} = this.state;
|
|
@@ -166,9 +176,14 @@ class EditableSpan extends Component{
|
|
|
const target = ev.target||ev.srcElement;
|
|
|
let innerVal = target.innerText;
|
|
|
if(ev.keyCode==8){
|
|
|
+ const elem = ev.srcElement || ev.currentTarget;
|
|
|
+ const nodeN = elem.nodeName;
|
|
|
+ if(nodeN != "SPAN"){//光标没落到span的时候阻止默认事件(backspace回退页面的情况)
|
|
|
+ return this.stopIt(ev);
|
|
|
+ }
|
|
|
// 主诉现病史去重:删除最后一个字的时候移除该数据(将name、id和value替换成空)并移除id
|
|
|
// 前面是标签,内容为空时再删一次才移除标签;前面是文本,则直接移除;
|
|
|
- // console.log(77,innerVal,preVal);
|
|
|
+ // console.log(77,elem,nodeN);
|
|
|
let preObj = $(this.$span.current).prev();
|
|
|
if(index!==0&&preVal.trim().length==1&& !innerVal){
|
|
|
removeId && removeId({boxMark,i:index,text:""});
|
|
@@ -221,6 +236,15 @@ class EditableSpan extends Component{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /*cancelSelect(e){//双击不选中
|
|
|
+ if(document.selection&&document.selection.empty){
|
|
|
+ document.selection.empty();
|
|
|
+ }else if (window.getSelection) {
|
|
|
+ var sel=window.getSelection();
|
|
|
+ sel.removeAllRanges();
|
|
|
+ }
|
|
|
+ }*/
|
|
|
+
|
|
|
getClass(){
|
|
|
const {full,value,saveText,i} = this.props;
|
|
|
const preSelected = saveText[i-1];
|