HTML内の複数の<td>オブジェクトのonclickイベントハンドラにmyclick関数が紐づいている時に
click{target:{index:Math.floor(math.rand() * 5}});といった記述で特定<tr>オブジェクトのclick()関数を起動させている記述を見たのですが、この構文の構造が理解できません。
このclick{}に渡されているオブジェクトはなんなのでしょうか?
(すみません、当方javascriptの関数やオブジェクトの知識が不足しておるようです、正直なんの知識にあたる物なのかも理解できておりません。)
Javascript
1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<script> 6 var rand = Math.floor(Math.random()*5); 7 function init(){ 8 click({target:{index: rand}}); 9 } 10 function click(e){console.log(e.target.index);} 11</script> 12</head> 13<body onload="init()"> 14 <table> 15 <tr> 16 <td onclick="click(e)" id="1td" index="0">1</td> 17 <td onclick="click(e)" id="2td" index="1">2</td> 18 <td onclick="click(e)" id="3td" index="2">3</td> 19 <td onclick="click(e)" id="4td" index="3">4</td> 20 <td onclick="click(e)" id="5td" index="4">5</td> 21 </tr> 22 </table> 23</body> 24</html>
ちゃんとクリックされたであろう要素のインデックスが表示されました。
また自分は以下のやり方で任意trからclickを動かそうとしたのですが、そちらは動きませんでした。
Javascript
1document.getElementById(rand +"td").onclick();
エラー内容は:Uncaught ReferenceError: e is not definedといったエラーが出ました。
どなたかご回答の程宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/31 07:09