2013-01-08 54 views
4

我有一個HTML <input type="text"><textarea>隨機現有的文字,說 [12345678]或 [12345
67890]
我有一個任意定位鼠標按下點擊本文內的事件。我需要將2D mousedown點擊頁面座標轉換爲1D基於字符的文本座標,以便通過JS正確定位插入符號。顯然瀏覽器有一些內部正在進行這種轉換的功能;這將是很好的,稱之爲。輸入具有標準的可變寬度字體,並且可以處於任何級別的放大率。瀏覽器僅限於FireFox。我們有JQuery和JCursor。JavaScript的:從鼠標獲取輸入文本位置(字符)點擊

背景:輸入字段是在深度嵌套的框內動態生成的,每個框都有粗糙的重載。遺留代碼和最新的FF實現的結合在某種程度上竊取了輸入元素出來的時間和它到達缺省瀏覽器set-caret動作的時間之間的mousedown傳播/焦點,這種情況沒有發生。我需要自己設置插入符號。

回答

0

此示例的解決方法是對事件使用Level 2 stopPropagation()調用,同時爲Level 0 onmousedown處理函數返回true(繼續傳播)。這規避了進一步的Level 2調用,將[進入父結構的遺留代碼]冒起來,同時仍然確保本機默認操作[放置插入符號]實際上確實發生在冒泡階段之後。但是,它仍然沒有回答原來的問題,這個問題有其他的應用。

相關問題