我想问一下,我的这段拖动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()
{
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>,这样就可以了,我一直不太明白为什么会这样?请名位大侠指教.