簡體   English   中英

MSIE:單擊外部時將焦點保持在文本字段中

[英]MSIE: Keep focus in text field when clicking outside of it

我想在頁面上點擊某些內容時,可以在文本字段中的當前插入符號位置插入文本。

為了完成這項工作,焦點不應該在單擊時留下文本字段,並且不應移動插入符號。

我可以在mousedown事件中使用event.preventDefault()來實現這一點 - 例如 - chrome。

但在Internet Explorer中,我根本無法做到這一點。 歡迎任何建議。

澄清 :我試圖為用戶提供一些好的方法來輸入無法直接從鍵盤輸入的奇異字符。

我實現了例如ctrl + alt + p,它適用於所有瀏覽器,除了Internet Explorer,我無法停止按ALT的默認行為(激活菜單欄)。

然后,我在字段旁邊創建了一個“調色板”,可以在鍵入時用鼠標單擊。 這適用於所有瀏覽器,除了Internet Explorer,我無法阻止鼠標單擊的默認模糊行為。

不要這樣做

我建議你不要這樣做,因為在文本字段中保留(或更好地說返回焦點)插入符號也會阻止用戶更改瀏覽器的地址欄,這是你不想要的東西。

我建議你更詳細地解釋你的過程,也許我們可以建議一個更好的選擇。

經過一番澄清

你應該做的是在插入位置插入文字/字符。 inputtextarea即使在焦點松散時也能保持插入位置。 所以你應該做類似stackoverflow在這里做的事情。 當您選擇一些文本(鍵入問題/答案時),然后單擊頂部的B圖標時,會在所選文本周圍添加兩個星標。 這是你應該如何進行特殊字符插入。 當用戶單擊特定異形字符時,應在輸入的插入位置添加/插入該字符。

有很多與解決這個確切問題相關的stackoverflow問題 - 在插入位置添加文本:

也許這是一個死對話,但我有一個解決方案。

對於IE,請專門查看onbeforedeactivate事件。 您需要將此附加到要保持焦點的元素。 這有點棘手,因為如果你總是取消這個事件你永遠不會把注意力放在這個元素上,但如果你小心如何實現它,你就可以實現你想要的。

我已經做了一段時間了,現在有了很好的清潔效果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM