DIV在FF下的拖动

我想问一下,我的这段拖动div的代码什么地方有问题啊,在ie里面正常,在ff下就是停下再拖就不行了,但如果在div中加入文本就可以了,为什么会这样啊?请各位高手指教.

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->  1 < html >
 2
 3 < head >
 4 < script language = " JavaScript "  type = " text/javascript "  src = " jquery-1.6.4.js " ></ script >
 5 < style >
 6
 7 </ style >
 8 </ head >
 9 < body >< head >
10 < script language = " JavaScript "  type = " text/javascript "  src = " jquery-1.6.4.js " ></ script >
11 < style >
12
13 </ style >
14 </ head >
15
16
17 < div id = " rect "  style = " width:200px;height:200px;position:absolute;background-color:pink; " >
18
19 </ div >
20
21 < div id = " display "  style = " position:absolute;top:300px; " ></ div >
22 </ body >
23 </ html >
24
25 < script >
26
27 $(init);
28
29 function init() {
30rectEvent();
31}

32
33 function rectEvent() {
34var slider = $("#rect");
35var downFlag = false;
36
37var offX;
38
39slider.mousedown(function(e){
40downFlag = true;
41var event = getEvent(e);
42offX = getOffsetX(event);
43
44}
);
45
46slider.mouseup(function(){
47downFlag = false;
48}
);
49
50slider.mouseout(function(){
51downFlag = false;
52}
);
53
54slider.mousemove(function(e){
55var event = getEvent(e);
56
57if(!downFlag){
58return false;
59}

60
61var left = event.clientX - offX;
62$("#display").text(left);
63slider.css("left",left);
64}
);
65
66}

67
68
69 function getEvent(event) {
70var event = event ? event : window.event;
71return event;
72}

73
74 function getOffsetX(event) {
75var off_X = event.offsetX ? event.offsetX : event.layerX;
76return off_X;
77}

78
79 </ script >
80

如果我在rect div随便加入文本如: < div id = " rect "  style = " width:200px;height:200px;position:absolute;background-color:pink; " >11</div>,这样就可以了,我一直不太明白为什么会这样?请名位大侠指教.
在Vue2.x环境下使用Ant Design Vue实现表格的列拖拽需要进行以下步骤: 1. 安装Ant Design Vue 可以通过npm或yarn安装Ant Design Vue,具体命令如下: ``` npm install ant-design-vue --save ``` 或者 ``` yarn add ant-design-vue ``` 2. 引入Ant Design Vue组件 在Vue组件中引入Ant Design Vue组件,具体代码如下: ```javascript import { Table } from 'ant-design-vue'; export default { components: { Table }, // ... } ``` 3. 设置表格的列属性 在`columns`属性中设置表格的列属性,并添加`customHeaderCell`属性,代码如下: ```javascript <Table :columns="columns" :data-source="tableData"> <a-slot name="customHeaderCell" slot-scope="{ column }"> <div class="drag-handler" :class="{ active: isDragging && column.key === activeColumnKey }" @mousedown="handleMouseDown($event, column)" @mousemove="handleMouseMove($event, column)" @mouseup="handleMouseUp" > {{ column.title }} </div> </a-slot> </Table> <script> export default { data () { return { columns: [ { title: 'Name', dataIndex: 'name', key: 'name', customHeaderCell: ({ column }) => { return { on: { mousedown: event => this.handleMouseDown(event, column), mousemove: event => this.handleMouseMove(event, column), mouseup: this.handleMouseUp } } } }, // ... ], // ... } }, methods: { handleMouseDown (event, column) { this.isDragging = true this.activeColumnKey = column.key this.draggedColumnIndex = this.columns.findIndex(col => col.key === column.key) this.startX = event.clientX }, handleMouseMove (event, column) { if (this.isDragging && column.key === this.activeColumnKey) { const deltaX = event.clientX - this.startX this.columns = [...this.columns.slice(0, this.draggedColumnIndex), ...this.columns.slice(this.draggedColumnIndex + 1)] this.columns.splice(this.columns.findIndex(col => col.key === column.key) + (deltaX > 0 ? 1 : 0), 0, column) } }, handleMouseUp () { this.isDragging = false this.activeColumnKey = null this.draggedColumnIndex = null this.startX = null } } } </script> ``` 4. 添加样式 添加相应的样式,使表格列可以拖拽,代码如下: ```css .drag-handler { display: flex; align-items: center; cursor: move; } .drag-handler.active { border-top: 2px solid #1890ff; border-bottom: 2px solid #1890ff; } .drag-handler:after { content: ''; display: block; width: 2px; height: 20px; background-color: #ccc; margin-left: 8px; } ``` 以上就是在Vue2.x环境下使用Ant Design Vue实现表格的列拖拽的具体步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值