バーコードスキャナ+jQuery+Chrome keypressで値が取得できない

中国からの荷物が3箱溜まっていて、早速ハンディーターミナルの出番!と思ったけど、どうもうまくいかない。
どうやらkeypressでキーが取得できないようだ。keydownもkeyupも同じ。
Andorid側でキーボードの設定をするも、スキャナーの設定を変えるもダメ。
ただ、フォームにフォーカスを当てると、そのフォームには値が入る。

機種が違うけど、こちらの動画もフォームに入力している。
ググってもあまりにレアすぎて?何も出てこない。
こっちの方がかっこいいけど、Android4系だな。

解決方法

textフィールドやtextareaには値が入るので、取得部分を変更した。
なぜだか、エンターだけは取得できるからそれを発火に使う。

$(document).on('keypress', '#barcode', function(e) {
	if (e.charCode == 13) {
		var words  = $('#barcode').val();
		// 改行なので処理実行

		$('#barcode').val('');
	}
});

// 常にフォーカスする
$('#barcode').focus();

// フォーカスが外れてもまたフォーカスする
$('#barcode').blur(function(){
	// ソフトキーボードが表示されないおまじない。
	$(this).attr('readonly',true).focus();
	setTimeout(function(){
		$('#barcode').attr('readonly',false);
	},20);
});

ソフトウェアキーボードが表示されてしまうので、一度readonlyにしてから時間差でreadonly解除。よく考えるなぁ、こんな方法。

テキストフィールドが必要なので追加。

<input type="text" id="barcode" style="overflow: hidden; position: relative; width: 1px; height: 1px; left: -500px" data-role="none" />

無理やり非表示。data-roleはjQ mobile向け。

まじ素晴らしい!!!
だいぶ早いし、ミスの心配も減る。そして小学生でも扱える。
大手さんはこういうの使っていたのか、ずるいぞ。
フォーカスがあたっている時(スキャナーから値が取得できる時)は、下に「SCAN MODE」と表示するようにした。
前に買ったbluetoothのスキャナより読込早い気がするし、何より画像等の商品情報が表示されるようになって、バーコード貼り間違えチェックにもなる。

バーコード準備開始

まだバーコードリーダー買ってないけど、ぼちぼち準備を始める。 まずは商品に貼らないといけないので、バ...

バーコードリーダー到着!

別に大したことではないんだけど、待ちに待った物が届いた。 AMAZONで買っても安いし、コンビニでも...

バーコードの良さがわかってきた。

またまたこんなネタだけど、日本側の色んな部分が早く正確になってかなり感動。 特に、面倒な入庫処理と、...

バーコードで入庫処理

相変わらずのバーコードネタ。 ほんと便利だったので、恥ずかしながら動画まで作ってみた。 PCには動画...

バーコードリーダー導入はどうだろうか

基本一人で発送業務をしているけど、意外となんとかなっている。 10時に始めて3時くらいに終わるくらい...

DM便サーマル対応完了。。できない

定形外のサーマルがとても効率がいいので、DM便も切り替えを検討。 ヤマトさんのシステムは良くできてい...

ヤフオクのかんたん決済の送信元アドレスが変更されてる。

自社開発したヤフオクのシステムがあるのですが、どうも「かんたん決済」が反映されてないらしい。 開発し...

AMAZON ver0.1 FBAラベルを無駄にしないやつ

AMAZONもverつけていこうと思う。 セラーセントラルだとFBAラベルは常に1番目から作られてし...

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)