我正在爲我的html中的<select>
標籤分配'onchange'屬性。我已經成功地在我的main.js文件(它捆綁到bundle.js)中完成了。我的bundle.js然後在index.html中引用。onchange()函數沒有定義(從index.html無法訪問?)
每當onchange事件試圖使用我已經定義 filterChanged()
的功能,它提供了一個參考誤差:
我原先認爲可能是由於功能「filterChanged不是在HTMLSelectElement.onchange定義 」不是一個全局變量,所以我分配到var
,問題依然存在。
看到下面的代碼 -
main.js
var filterChanged = function() {
console.log('filter changed');
}
window.onload = function() {
let filter = document.getElementById('filter-list');
filter.setAttribute('onchange', 'filterChanged()');
}
的index.html
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>TestProj</title>
<script type="text/javascript" charset="UTF-8" src="build/bundle.js"></script>
</head>
<body>
<h3>Todos</h3>
<p>Number of items to show</p>
<select id="filter-list" name="filter">
<option selected="true" value="list10">10</option>
<option value="list20">20</option>
<option value="list30">30</option>
</select>
<ul id="todo_list">
<!-- Inject list here with JS (main.js getTodos()) -->
</ul>
</body>
</html>
['閱讀進度()'](https://開頭developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener) – Andreas