亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以 Javascript 形式輸入擴展拉丁字符 Alt+0256-0383

以 Javascript 形式輸入擴展拉丁字符 Alt+0256-0383

慕無忌1623718 2023-05-25 18:03:53
我的 Javascript 數據輸入彈出窗口的用戶無法輸入 255 以上的擴展拉丁字符。例如,Alt+0321 是波蘭語 ?。即使在這個 StackOverflow 表單上,我也無法鍵入字符,但可以復制粘貼它。而 ? 可以直接鍵入,因為它是 Alt+0223。有沒有辦法繞過這個限制?非 Javascript 工具,例如 MS Office,可以工作。我不得不建議人們在 Word 中輸入數據,然后復制粘貼,這看起來不太好。Gmail 和谷歌搜索似乎同樣受到限制。
查看完整描述

1 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

經過長時間搜索沒有結果,這是我的解決方案:(

適用于 0-65535 | 0000-ffff)


var altCapture = null;


function keydown(event) {

  var keyCode = event.keyCode;

  if(keyCode == 18) altCapture = "";

  if(altCapture != null && keyCode != 18)

    altCapture += (keyCode - 96);

}


function keyup(event) {

  if(event.keyCode == 18) {

    event.target.value += String.fromCharCode(+altCapture);

  }

}


function keypress(event) {

  if(altCapture != null) {

    event.preventDefault();

    altCapture = null;

  }

}

<input

  onkeydown  ="keydown (event)"

  onkeyup    ="keyup   (event)"

  onkeypress ="keypress(event)"

>

<input

  onkeydown  ="keydown (event)"

  onkeyup    ="keyup   (event)"

  onkeypress ="keypress(event)"

>

在所有按鍵按下后執行按鍵。
按下 18 (alt),通過將 altCapture 從 null 設置為 "" 開始捕獲。
按下而不是 18 并捕獲,將數字附加到 altCapture。
(默認情況下,不按下 18 且不捕獲。)
向上鍵 18,從代碼 altCapture 追加字符(+ 將字符串轉換為數字)。
(按鍵不是 18,默認值。)
按鍵和捕獲,防止默認值并將 altCapture 重置為 null。
(按鍵而不捕獲,默認。)

查看完整回答
反對 回復 2023-05-25
  • 1 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號