Nos últimos dois dias, realizamos uma função que requer monitoramento em tempo real da entrada da caixa de texto e encontramos o problema de náusea de que o método de entrada chinês não pode acionar o evento OnKeyUp.
A manifestação específica é a seguinte:
Ao ouvir um evento de keyup de entrada, o método de entrada em inglês pode detectar a alteração no valor da caixa de texto através do evento KeyUp em tempo real. No entanto, quando o método de entrada se tornar chinês, o evento de keyup de entrada não será acionado normalmente. Esta é a maneira anterior de escrever.
<html> <head> <script type = "text/javascript" src = "// www.vevb.com/static/js/jquery-1.4.2.min.js"> </sCript> </head> <body> <p> use KeyUp Events para detectar o teor de texto: AutoComplete = "OFF"/> <span id = "keyup_s"> </span> <script type = "text/javascript"> $ ('#keyup_i'). bind ('keyup', function () {$ ('##keys'). text ($) .val).Como você pode ver, esta redação encontra o problema que os chineses não podem desencadear o evento KeyUp. Então, procurei uma solução. Lembrei -me de que o prompt da barra de busca em Baidu parecia não ter problemas, então comecei a olhar para o JS de Baidu. O JS do Baidu é feio ... O método é nomeado como uma carta e, finalmente, descobri que provavelmente estava usando o tempo limite como um cronômetro para monitorar a modificação da caixa de entrada regularmente. Não muito satisfeito com esse método. Por isso, continuei procurando uma solução melhor, então encontrei dois eventos: OnInput e OnPropertyChange.
O OnInput está disponível no Firefox, enquanto o OnPropertyChange está disponível no IE. Existem algumas diferenças entre os dois métodos.
O OnInput pode detectar apenas alterações no valor da propriedade, enquanto o OnPropertyChange pode detectar alterações em todas as propriedades que contêm o valor. Então começou a mudar para isso.
<html> <head> <script type = "text/javascript" src = "// www.vevb.com/static/js/jquery-1.4.2.min.js"> </sCript> </head> <body> <p> use oninput e onPropertyChange para detectar a caixa de texto: </p. id = "inputorp_i" autocomplete = "off"/> <span id = "inputorp_s"> </span> <script type = "text/javascript"> // primeiro determine se o navegador é um ie cruel. Não há como escrever algo como IE. var bind_name = 'input'; if (Navigator.UserAgent.Indexof ("msie")! = -1) {bind_name = 'PropertyChange'; } $ ('#inputorp_i'). bind (bind_name, function () {$ ('#inputorp_s'). text ($ (this) .val ());}) </script> </p> </body> </html>O problema foi resolvido assim.