代码:
https :
//dl.dropboxusercontent.com/u/16952797/webdev/uppg1/kontakt.html http://jsfiddle.net/v8uMJ/(结果框没有成功渲染页面或重现bug)
相关代码:
function addEvent(element, eventType, theFunction, capture)
{
if(element.addEventListener)
{
element.addEventListener(eventType, theFunction, capture);
}
else if(element.attachEvent)
{
element.attachEvent( "on" + eventType, theFunction);
}
}
function removeDefaultOption(event)
{
document.getElementById("selectSuggestion").options[0].style.display = "none"; // <-- looks awkward
//document.getElementById("selectSuggestion").remove(0); // <-- also looks awkward and needs boundaries so that all options don't get removed after each click
//delay(1000); // <-- tried delaying the thread but it didn't work..
//setInterval(function(){},1000); // <-- tried delaying the thread but it didn't work..
}
function addEventListeners()
{
...
addEvent(document.getElementById("selectSuggestion"), "click", removeDefaultOption, false);
}
上下文:所以我想要做的是每当您单击建议表单中的选择元素(瑞典:Förslag)时,我希望第一个选项(值:--Välj Förslag--)从列表中消失。问题是选项显示“太快”所以我要么需要a)在设置第一个选项的style.display之后延迟选项的显示,要么b)我需要防止点击选择的默认事件和然后用我自己的函数覆盖它,这样我就可以控制它应该何时运行(我不知道单击选择元素时运行的本机函数的名称)。