Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2019年5月3日金曜日

クリックしたdiv要素に枠線を付けたい


elem.focus() でフォーカスできない要素でも
クリックしたら枠線をつけたい

ここでは div 要素に枠線を付けてみます




コード.gs
function doGet() {
  return HtmlService.createHtmlOutputFromFile("index");
}
意訳
この機能がやること
指定したHTMLファイルを表示する




index.html
<!DOCTYPE html>
<html>
<head>
<style>
  .highlight {
    border: solid 5px lime;
  }
</style>
</head>

<body>
<div id='main_div'>
  <div id='dvi1'>div1</div>
  <div id='div2'>div2</div>
  <div id='div3'>div3</div>
</div>
<script>
function elem(id) {
  return document.getElementById(id);
}

function removeClassList(parentId, tagName, className) {
  var child = elem(parentId).getElementsByTagName(tagName);
  for(var i = 0; i < child.length; i++) {
    elem(child[i].id).classList.remove(className);
  }
}

elem('main_div').onclick = addClassList;
function addClassList(e){
  removeClassList('main_div', 'div', 'highlight');
  var target = e.target;
  elem(target.id).classList.add('highlight');
}

</script>
</body>
</html>


補足

枠線を付けるときに、既存の枠線を消さないと枠線が残り続けるので、removeClassList ですべて消しています。


Latest post

Google Formsで記述式の質問に字数制限を設定したい

記述式の質問には「回答の検証」を設定することができます フォームの編集画面 右下の︙メニューで「回答の検証」を選択します 検証方法には「数値」「テキスト」「長さ」「正規表現」という種類があります 今回は字数制限したいので「長さ」を選びます 長さには「最大文字数」か「最小文字数」を...