2017-12-11 26 views
1

ユーザーが入力要素に入力する画面上のキーボードを設定しようとしています。入力要素内の文字列の長さが1を超えて特定の関数。Javascript/HTML入力キーボードを使用したオンスクリーンキーボード

これまでのところ、私が持っている、次のinput要素自体、ある

<form> 
    <input id="search" type="text" onchange="livesearch(this.value)"> 
</form> 

- それは、以下の機能を実行ONCHANGE:に入力文字に、しかし

function livesearch(input){ 
    if(input.length > 1){ 
     alert(input); 
    } 
} 

を画面上のキーボードからの入力要素私は以下を使用しています:

関数livesearchは、検索ボックスの長さが1を超えてユーザーがボックスの周囲の空白をクリックした後に実行されますが、オンスクリーンキーボードでテキストが入力されても機能しません。私はまた、機能を実行するために、要素の外側の空白をクリックする必要性を修正したいと思っています。

ご協力いただければ幸いです。ご迷惑をおかけして申し訳ございません。

+3

JavaScriptで値を変更してもイベントは発生しません。手動でトリガーする必要があります。 – epascarello

答えて

0

入力がフォーカスを失うまで、changeイベントは発生しません。あなたが求めているものを達成するために、あなたはこのような何か(jQueryのを使用して)行うことができます:

$('input').on('change keyup paste', function() { 
 
    console.log("Add your logic here...") 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" />

これは、入力が変更されたときにコードを発生させます

は、ユーザーがキーを離します(つまり、または入力フィールドに何かをペーストするときに使用します。

+0

これはありがたいことですが、残念ながら大学評価のためのもので、jQueryの使用を禁止されています(理由は問いません)。しかし、私はそれがなくても動作するように管理していますが、助けてくれてありがとうございます。 – Orbie

+0

これでうまくいきましたことを聞いてうれしい今、私は不思議です - なぜjQueryを使用できませんか?物事が簡単すぎるのですか? – feupeu

+0

私は正直言って、それは厳密なJavaScriptのみのモジュールです - しかし、私が遭遇した各問題をグーグルで見つけたことから学んだように、jQueryを使用すると、それらをすべて実装する方がはるかに簡単です。 JavaScriptと一緒に学習することをお勧めしますか? – Orbie

関連する問題