code up

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

jQueryでバックスペースを禁止する

キーボードの押し間違いで入力していたものが消えることがたまにある。

小さいネットブックを使っていると、半角/全角キーを押そうとして間違えてESCを押してしまい、ウィンドウが閉じてしまうこと、など。

今開発している画面でもそんなことがあってreadonlyのフィールドにカーソルがあたっている状態でbackspaceキーを押すと画面が戻ってしまう(確認できたのはIEとChrome)。

そんなユーザビリティはダメってことで、jQueryを使ったbackspaceを禁止するコード。

$(document).keydown(function(e) {
	if (e.keyCode === 8) {
		var tag = e.target.nodeName.toLowerCase();
		var $target = $(e.target);
		if ((tag !== 'input' && tag !== 'textarea') || $target.attr('readonly') || $target.is(':disabled')) {
			return false;
		}
	}
	return true;
});

このあたりのスレッドを参考にしました。

関連記事
タグ:jQuery
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。