ドロップダウンリストをクリックしようとするたびに、最初のイベントは既にドロップダウンリストにロードされています.2番目のイベントはドロップダウンリストでクリックしたものです。したがって、本質的に、2つのイベントが発生していますが、私は2回目のクリックをしたいだけです。オプションを2回クリックします
HTML
<select class="pictureList" id="pictureList">
<option class ="option0" id="option0">select a picture</option>
<option class ="option1" id="option1">picture 1</option>
<option class ="option2" id="option2">picture 2</option>
</select>
Javascriptを
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("pictureList").addEventListener("onkeyup", actionListener, false);
}, false);
function actionListener(event) {
if(event.target == document.getElementById("pictureList")) {
loadPicture();
}
}
function loadPicture() {
var picture = document.getElementById("pictureList");
if (picture == "select a picture")
load;
else if (picture == "picture 1")
load;
else if (picture == "picture 2")
load;
}
だから、すべてが正しくロードされ、それは私が他のオプションを表示するには、リストをクリックすると、それはすでにリストにあるものは何でもロードするのと同じことです。例えば、リストは写真1から始まり、写真2をロードしたい。次にリストをクリックしてオプションを見ると、写真1が再びロードされ、次に写真2をクリックするとロードされる。私は写真1が再びロードされるのを望んでいません。私もonchangeを試みましたが、それでもやります。
'change'イベントhttps://developer.mozilla.org/en-US/docs/Web/Events/changeを探しています。実際にselectのオプションを選択したときにトリガされます。 – yuriy636
ええ、私は変更を試みたが、それはそれを行うだろう。 – Jason
あなたのコードでは、 'load;'とは何ですか? – yuriy636