入力画面で入力中にブラウザバックができないように画面を制御しています。
その際、テキストエリアの場合もバックスペースが効かなくなりました。
※ $(":focus").attr("type") がundefinedになり、条件に引っかかる
タグ名を取得して、textareaタグであることを判定する処理を記述したいのですが、
どうすればタグ名を取得できるかがわかりません。
以上、よろしくお願い致します。
html
1<td class="input-cell"> 2 <?php echo $this->Form->input("Hoge.memo", array( 3 'id' => 'memo', 4 'type' => 'textArea', 5 'class' => 'memo', 6 'label' => false, 7 'div' => false, 8));?> 9</td>
jquery
1$(document).keydown(function(event){ 2 // クリックされたキーコードを取得する 3 var keyCode = event.keyCode; 4 5 // F5 の場合は falseをリターン 6 if(keyCode == 116) { 7 //console.log("F5"); 8 return false; 9 } 10 11 // バックスペースキーを制御する 12 if(keyCode == 8){ 13 if($(":focus").attr("type") != 'text'){ 14 //テキスト要素なら、バックスペースを許可 15 console.log("Backspace"); 16 console.log($(":focus").attr("type")); 17 console.log($(":focus").eq(0).tagName); 18 return false; 19 } 20 } 21}); 22
【追記】
masaya_ohasiさんのご指摘いただき、処理方法を変える事にしました。
ただ、後学のために今回の取得方法も教えていただければ幸いです。
身勝手ではありますが、お願い致します。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/09 00:41