|
@@ -148,7 +148,7 @@ class EditableSpan extends Component{
|
|
|
handleKeydown(e){
|
|
|
const ev = e||window.event;
|
|
|
const target = ev.target||ev.srcElement;
|
|
|
- let innerVal = target.innerText;
|
|
|
+ let innerVal = target.innerText || target.innerHTML;
|
|
|
//禁止回车事件
|
|
|
if(ev.keyCode==13){return false;}
|
|
|
//backspace事件
|
|
@@ -173,14 +173,11 @@ class EditableSpan extends Component{
|
|
|
const {preVal,index} = this.state;
|
|
|
const ev = e||window.event;
|
|
|
const target = ev.target||ev.srcElement;
|
|
|
- let innerVal = target.innerText || target.innerHTML;
|
|
|
+ let innerVal = target.innerText || target.innerHTML,ele,boxTop;
|
|
|
if(ev.keyCode==8){
|
|
|
const elem = ev.srcElement || ev.currentTarget;
|
|
|
const nodeN = elem.nodeName;
|
|
|
|
|
|
- let ele = document.activeElement;
|
|
|
- let boxTop = target.innerText?getPageCoordinate(e).boxTop:NaN;
|
|
|
- setSearchLocation(boxTop,ele.offsetLeft) //搜索框的位置动态获取
|
|
|
if(nodeN != "SPAN"){//光标没落到span的时候阻止默认事件(backspace回退页面的情况)
|
|
|
return this.stopIt(ev);
|
|
|
}
|
|
@@ -189,14 +186,20 @@ class EditableSpan extends Component{
|
|
|
// 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:""});
|
|
|
- handleClear && handleClear({boxMark});//删除最后一个字时清空搜索结果,避免现病史搜索框不立即消失的情况
|
|
|
- if(preObj[0].nodeName !=="DIV"){
|
|
|
- this.moveEnd(preObj[0]);
|
|
|
- }
|
|
|
+ removeId && removeId({boxMark,i:index,text:""});
|
|
|
+ handleClear && handleClear({boxMark});//删除最后一个字时清空搜索结果,避免现病史搜索框不立即消失的情况
|
|
|
+ if(preObj[0].nodeName !=="DIV"){
|
|
|
+ this.moveEnd(preObj[0]);
|
|
|
}
|
|
|
-
|
|
|
- if(innerVal !==preVal){return false}
|
|
|
+ }
|
|
|
+ if(innerVal !==preVal){
|
|
|
+ ele = document.activeElement;
|
|
|
+ boxTop = target.innerText?getPageCoordinate(e).boxTop:NaN;
|
|
|
+ if(filterDataArr(innerVal.split(''))){
|
|
|
+ setSearchLocation(boxTop,ele.offsetLeft) //搜索框的位置动态获取
|
|
|
+ }
|
|
|
+ return false
|
|
|
+ }
|
|
|
// 中英文数字和下划线--单独删除标签
|
|
|
/*const reg = new RegExp("([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9_])");
|
|
|
if(index!==0 && reg.test(innerVal)){
|
|
@@ -219,6 +222,10 @@ class EditableSpan extends Component{
|
|
|
index: null
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
+ ele = document.activeElement;
|
|
|
+ boxTop = target.innerText?getPageCoordinate(e).boxTop:NaN;
|
|
|
+ setSearchLocation(boxTop,ele.offsetLeft) //搜索框的位置动态获取
|
|
|
}
|
|
|
}
|
|
|
componentWillReceiveProps(next){
|