我的 HTML 选择有问题,我想在其中将较长的选项显示为省略号。我可以通过 javascript onChange 实现这一点,在其中我检查所选选项文本的长度,如果它大于 N,它将其更改为省略号文本。这里的问题是,一旦选择并省略了该选项,然后我再次单击选择框,原始文本现在显示为省略号。我需要始终显示原始选项列表并仅在选择选项时执行省略号。
我的 onChange 代码看起来像
if(option[selectedIndex].text.length > N){
var val = option[selectedIndex].text;
option[selectedIndex].text = option[selectedIndex].text.substr(0,N) + "...";
}
我认为实现此目的的方法之一是在单击选择时刷新原始列表。不幸的是,我的浏览器不支持 HTML 选择上的“点击”事件。即使我使用
event.preventDefault();
DOM 识别 click 事件,但仅在列表显示后才被触发,从而违背了目的。就像我在这里做的事情 jsFiddle
在这种情况下我不能使用 jQuery 也是一个很大的限制!
请指教!