2018年8月7日 星期二

[JavaScript] select元件手動觸發onchange事件

select元件就是下拉式選單。它的結構長得像這樣。
===
<select>
  <option value="option0">Apple</option>
  <option value="option1">Banana</option>
</select>
===.
要透過JavaScript來改變select元件的值使用的是下面的方法
===
element.value = "<value>";
===.
element指的是select元件。此處的<value>要參考option元件的value值。
到這邊都是好理解的,問題在於這個做法好像有點bug,就是onchange事件不會正確地觸發。因此修改完value以後還要特地去觸發onchange事件。
===
element.value = "<value>";
var ev = document.createElement("HTMLEvents");
ev.initEvent("change", false, true);
element.dispatchEvent(ev);
===.

[HTML] ribody

怕自己忘記,稍微紀錄一下。 各種各種理由(其中一個就是Vue,不能綁定在body上),導致時常需要一個包在body中的div,當作body來用,像這樣: === <body>     <div id="divBody">   ...