我想問一下,我的這段拖動div的代碼什么地方有問題啊,在ie里面正常,在ff下就是停下再拖就不行了,但如果在div中加入文本就可以了,為什么會這樣啊?請各位高手指教.
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(){
30
rectEvent();
31
}
32
33
function rectEvent(){
34
var slider = $("#rect");
35
var downFlag = false;
36
37
var offX;
38
39
slider.mousedown(function(e){
40
downFlag = true;
41
var event = getEvent(e);
42
offX = getOffsetX(event);
43
44
});
45
46
slider.mouseup(function(){
47
downFlag = false;
48
});
49
50
slider.mouseout(function(){
51
downFlag = false;
52
});
53
54
slider.mousemove(function(e){
55
var event = getEvent(e);
56
57
if(!downFlag){
58
return false;
59
}
60
61
var left = event.clientX - offX;
62
$("#display").text(left);
63
slider.css("left",left);
64
});
65
66
}
67
68
69
function getEvent(event){
70
var event = event ? event : window.event;
71
return event;
72
}
73
74
function getOffsetX(event){
75
var off_X = event.offsetX ? event.offsetX : event.layerX;
76
return off_X;
77
}
78
79
</script>
80

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

如果我在rect div隨便加入文本如:<div id="rect" style="width:200px;height:200px;position:absolute;background-color:pink;">11</div>,這樣就可以了,我一直不太明白為什么會這樣?請名位大俠指教.