テキストエリア内の末尾にキャレットがあるときに
確定キーを押したらアラートを出したい
デモ
コード.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile("index");
}
|
意訳この機能がやること 指定したHTMLファイルを表示する |
index.html
<!DOCTYPE html>
<html>
<body>
<textarea id="ta"></textarea>
<script>
/************************************
elem(id)
************************************/
function elem(id) {
return document.getElementById(id);
}
/************************************
イベント
************************************/
ta.onkeyup = ta_keyup;
/************************************
ta_keyup
テキストエリアの末尾で確定キーを押したらアラートを出す
必要な情報
キャレットの位置
テキストエリアの文字数
押されたキーコード
************************************/
function ta_keyup(e) {
var where_caret = get_where_caret("ta");
var len_ta = get_len_elem("ta");
var key_code = get_key_code(e);
result_ta_keyup(where_caret, len_ta, key_code);
}
function get_where_caret(id) {
return elem(id).selectionStart; //キャレットの位置を返す
}
function get_len_elem(id) {
return elem(id).value.length; //elemの文字列数を返す
}
function get_key_code(e) {
return e.keyCode; //キーコードを返す
}
function result_ta_keyup(where_caret, len_ta, key_code) {
if (where_caret === len_ta && key_code === 13) {
alert("hello");
}
}
</script>
</body>
</html>
|