JavaScript コードに名前空間を使用していますが、select 要素のonchange属性でレンガの壁にぶつかったと思います。名前空間を使用して (または名前空間を使用せずに) 関数を呼び出そうとすると、エラー コンソールに関数が見つからないことが報告されます。
var MYNS = {}; //namespace
MYNS.modifySearchPage = function () {
....
var eSelect = document.createElement("select")
.....
eSelect.setAttribute('onchange', 'MYNS.handleChange(this)');
.....
//set up the options (value, textcontent, eSelect.appendChild(theOption)
...
// add the eSelect to the DOM
}
MYNS.handleChange = function (select) {
//parse the select options
}
ドロップダウン リストから項目を選択すると、コンソールに表示される結果は次のとおりです。
Uncaught ReferenceError: MYNS is not defined
名前空間をウィンドウに追加しようとしましたが、それは役に立たないようです (そして、それが安全なことであるとは確信していません)。
select要素にonclickハンドラを追加しようとしましたが、 selectはonclicksを処理しないため、明らかに悪い考えです。
呼び出しと関数定義の両方から MYNS を削除しても、役に立ちませんでした。
何か案は?
ありがとう、ムウルフ