我如何將文本框方向從選項框,從正常的「ltr」更改爲「rtl」,因此它也從右向左寫入,例如,當我選擇語言「Pashto,Arabic或Hebrew」選項,如果沒有選擇阿拉伯語,textarea與「ltr」是正常的。如何從選項框,textarea更改爲ltr-rtl並從右向左書寫?
請不要誤解的問題。我不問如何在css中創建ltr和rtl,我在問如何通過使用選項框來改變texteara的方向。
注:我知道有對「阿拉伯」一些自動的解決方案,但這種解決方案需要從因爲語言,例如「普什圖語」選項使用相同的拉丁字母作爲歐洲的做法,但它與阿拉伯語或希伯來語相同。這就是爲什麼它不能自動生成,但在選項菜單中選擇這些語言時需要激活。
應該從「LTR到RTL」,並在同一時間將變更爲「書寫從右到左」。
一旦在選項框中選擇指定的語言,它需要做的是改變textarea的方向以及打字的方向。
的JavaScript(我知道這JavaScript可以是100%錯誤的這個時候,所以請繼續前進,給我自己完全不同的JavaScript解決方案)
<script type='text/javascript'>
function setRtL(e) {
if (e.key == " ") {
var textbox = document.getElementById("SeekBox");
textbox.value += "\u200F";
}
}
</script>
<textarea name="u" cols="74" rows="7" wrap="physical" id="SeekBox" style="resize:none; direction: ltr"></textarea>
<select name="LangF" class="OBSMatch" id="opt">
<option value="" disabled>Common Languages:</option>
<option value="zh-CN">Chinese (Simplified)</option>
<option selected value="en">English</option>
<option value="fr">French</option>
<option value="de">German</option>
<option value="ru">Russian</option>
<option value="es">Spanish</option>
<option value="" disabled>—</option>
<option value="auto">Auto Detect</option>
<option value="" disabled>—</option>
<option value="" disabled>Other Languages:</option>
<option value="sq">Albanian</option>
<option value="ar" onkeydown="setRtL(event)">Arabic</option>
<option value="ps" onkeydown="setRtL(event)">Pashto</option>
<option value="iw" onkeydown="setRtL(event)">Hebrew</option>
<option value="hy">Armenian</option>
<option value="ro">Romanian</option>
</select>
<input type="button" id="SwitchLang" value=" Swap ▲▼ Language ">
<select name="LangT" class="OBSMatch" id="opt">
<option value="" disabled>Common Languages:</option>
<option value="zh-CN">Chinese (Simplified)</option>
<option value="en">English</option>
<option selected value="fr">French</option>
<option value="de">German</option>
<option value="ru">Russian</option>
<option value="es">Spanish</option>
<option value="" disabled>—</option>
<option value="auto">Auto Detect</option>
<option value="" disabled>—</option>
<option value="" disabled>Other Languages:</option>
<option value="sq">Albanian</option>
<option value="ar" onkeydown="setRtL(event)">Arabic</option>
<option value="ps" onkeydown="setRtL(event)">Pashto</option>
<option value="iw" onkeydown="setRtL(event)">Hebrew</option>
<option value="hy">Armenian</option>
<option value="ro">Romanian</option>
</select>
當寫作「RTL」你寫從右到左,但新的字符出現在左側,不像右側的正常「rtl」。
例:認爲我們寫英語左側和右側的新案文矛...
例:在阿拉伯語中你寫的右側,顯示的文字在新的左側...
說明:想想你如何用英語寫作。在英文中,您從左向右書寫,所有下一個文本出現在您的文本右側。現在,如果我們反轉,並且您從右向左移動,並且所有新文本都應顯示在文本的左側。
但是,「rtl」只能讓它正確地左側出現在右側而不是左側的新文本,這就是爲什麼「rtl」本身無法正常工作並需要完成更多工作。
對不起我解釋是錯誤的。你的代碼工作,但不是它應該的。當你使用該代碼時,它會將文本更改爲RTL,但它不會更改文字,它仍然寫在左側,而不是右側,例如阿拉伯語。 – SeekLoad
我不僅需要RTL,還需要從右向左書寫。現在它是RTL,但它寫作就好像它是LTR。 – SeekLoad
抱歉,我無法理解,我可以看到它從右向左寫,你能舉個例子說明它應該如何嗎?你想要文字被顛倒嗎? – Dij