diff --git a/src/components/XdTable/index.vue b/src/components/XdTable/index.vue
index 95123db3..c5571a00 100644
--- a/src/components/XdTable/index.vue
+++ b/src/components/XdTable/index.vue
@@ -94,9 +94,10 @@
-
+
+
-
+
@@ -269,6 +270,7 @@ export default {
// 鼠标按下事件
tbBodyDiv.onmousedown = function (ev) {
+ console.log('===tbBodyDiv.onmousedown===>')
var evt = window.event || arguments[0];
var flag = true;
// 鼠标右键菜单,并且记录当前位置
@@ -333,10 +335,23 @@ export default {
vnode.context.mouseflag = true;
// //鼠标拖动时画框
document.onmousemove = function (ev) {
+
+ const tbBodyDivRect = tbBodyDiv.getBoundingClientRect();
+ console.log("===document.onmousemove==>",ev,tbBodyDivRect);
+
evt = window.event || arguments[0];
_x = (evt.x || evt.clientX);
_y = (evt.y || evt.clientY);
//为了确定是点击事件还是移动事件
+ if(_x {
- // console.log('键盘监听中')
- e = e||window.event;
- if(e.ctrlKey&&e.code=="KeyC"){
- that.handleCopySelect(e);
- return false;
- }
- }
+
},
beforeDestroy () {
- document.removeEventListener('keydown', this.copyHanderEvent)
+ document.removeEventListener('keydown', this.handleGlobalKeydown)
},
methods: {
getInstance() {
@@ -699,6 +709,25 @@ export default {
return Math.random().toString(36).substring(3,10);
},
+ // 全局键盘事件处理
+ handleGlobalKeydown(event) {
+ // console.log("===>handleGlobalKeydown===>",event)
+
+ // 检查是否按下了Ctrl+C组合键
+ if ((event.ctrlKey || event.metaKey) && event.key === 'c') {
+ // 如果焦点在表格内,处理复制操作
+ if (this.isTableFocused) {
+ event.preventDefault();
+ this.handleCopySelect();
+ // e = e||window.event;
+ // if(e.ctrlKey&&e.code=="KeyC"){
+ // that.handleCopySelect(e);
+ // return false;
+ // }
+ }
+ }
+ },
+
clearSelection(){
this.$nextTick(()=>{
this.$refs.table.$refs.elTable.clearSelection();
@@ -707,12 +736,13 @@ export default {
initKeyDownEvent(){
// console.log('===initKeyDownEvent===>')
- document.addEventListener('keydown', this.copyHanderEvent );
+ document.addEventListener('keydown', this.handleGlobalKeydown );
},
removeKeyDownEvent(){
// console.log('===removeKeyDownEvent===>')
- document.removeEventListener('keydown', this.copyHanderEvent );
+ document.removeEventListener('keydown', this.handleGlobalKeydown );
},
+
onTplSelectInputBlur(e) {
if (e.target.value.trim()!== '') {
//e.target.value就是录入的内容
@@ -911,7 +941,10 @@ export default {
// 去除两端空格
this.currentSelectStr=selStr;
+ this.isTableFocused=true;
+ }else{
+ this.isTableFocused=false;
}
// this.$emit('handleSelect',this.multipleSelection)