2017-02-02 19 views
0

私は単純な電卓を作った。入力フィールドにテキストを入力した後にボタンonclickが起動しない

ユーザーは入力フィールドに値を入力し、「+」ボタンをクリックすることができます。 フォーカスは入力フィールドに残ります。そのため、ユーザーは+キーをクリックすると新しい値を直接入力できます。マウスの位置は「+」ボタンの上にとどまるので、新しい値を入力した後で再びクリックすることができます。 ただし、この時間をクリックすると、イベントは一切発生しません。およその後。 1秒にもう一度押すと、クリックが発射されます。説明してください。

N.b.オンライン計算機でも同じような動作が発生します。 http://web2.0calc.com/

htmlコード:

<input type='text' id=calc size=14 style='text-align:right' ></input> 
<button type='button' onclick= 'Plus()'>+</button> 

とスクリプト:

// init: 
    document.getElementById('calc').value = '' 
    document.getElementById('calc').focus() 
    // 
    function Plus(){ 
    // check input, add to total 
    document.getElementById('calc').value = '' // clears input after add 
    document.getElementById('calc').focus() // keeps focus on input 
    } 
+0

別のブラウザ、別のPC、おそらくモバイルデバイスなどを試してみましたか?プラグインの副作用やそのようなものではありませんか? – jkalden

+0

私はFirefoxを使っていますが、それをIEとEdgeでもテストしました。私は他の問題はありません。私はプラグインを使用しません。 –

答えて

2

あなたは私のマシンでは完全に罰金作品を与えた例リンク。あなたが言及している1秒の遅れは、古いブラウザや遅いマシンなどのためにパフォーマンス上の問題になる可能性があります。

+0

これは本当です。[this](https://jsfiddle.net/cmog5asd/3/)をチェックしてください。また、空白の要素であるため、入力終了タグは必要ありません –

+0

私は最新のFirefoxを使用していますが、その他のパフォーマンス上の問題は発生しません。 –

関連する問題