Re: 文字框裡的文字拖曳問題

配合图来把问题说的清楚些,以下情况在 Firefox 12.0 中文版出现。

--------------------图例如下--------------------
输入框:[          ]
文字内容:□□□□□○○○○○(使用两种形状以便区分)
选定的部分:□□■■■○○○○○(后第 3 - 5 个字符被选中)
--------------------------------------------------
假设有两个输入框 A 和 B,他们都监听了 change 事件,A 已经有内容。
A [□□□□□     ]
B [          ]
--------------------------------------------------
选中 A 中的三个字符。
A [□□■■■     ]
B [          ]
--------------------------------------------------
拖拽到 B 中,结果如下。
A [□□■■■     ]
B [□□□       ]
此时焦点仍在 A 中,B 的 change 事件未触发。
--------------------------------------------------
在 B 中再输入两个字符,然后使 B 失去焦点。
A [□□□□□     ]
B [□□□○○     ]
这时 B 会触发 change 事件。
--------------------------------------------------
然后,在 A 中选择中间三个字符。
A [□■■■□     ]
B [□□□○○     ]
--------------------------------------------------
再在 B 中选择最后两个字符。
A [□□□□□     ]
B [□□□●●     ]
注意此时焦点在 B 中,A 看起来没有 selection 了,但实际它还是存在的,稍后可以看到。
--------------------------------------------------
拖拽 B 选中的内容,往 A 里放。
A [□|□□□|□     ]
B [□□□●●     ]
你会发现,光标在刚才的 A 的选区范围内是“Can not drop"状态,也就是说只有在选区的两侧,才可以 drop。
在 A 的内容的最前边 drop。
--------------------------------------------------
结果:
A [○○□□     ]
B [□□□●●     ]
当然,这次 A 的 change 事件也没有被触发。
--------------------------------------------------

IE 系列也有不触发 change 事件的问题,但拖拽行为与 Firefox 不同,问题也没有 Firefox 严重。

Received on Friday, 8 June 2012 15:38:56 UTC