以下用于调整选择列表大小的JavaScript会在Google Chrome中中断。它在Tabed into the field时有效,但点击它会产生“Aw,Snap!”错误页面。
<select onfocus="this.setAttribute('size', 3);">
<option>selectList with onfocus</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
在FF和IE中正常工作。 这是onfocus之间的某种冲突(如果我在onClick上实现它没有问题)和设置size属性。我也被告知它在Safari中也会中断。
非常感谢任何帮助,想法或解决方法。
(P.S。Yeh我知道调整选择列表不是很好的形式,但这是老板/客户想要的)
答案 0 :(得分:6)
使用select更改行:
<select onfocus="var that = this; setTimeout(function() {that.setAttribute('size', 3);}, 0);">
它适用于Chrome。我没有在Safari中尝试,但我怀疑它也能正常工作。基本上我们在这里所做的就是使用setTimeout转义调用堆栈,这似乎解决了Webkit中的错误。
答案 1 :(得分:1)
我也发现了这个:
所以这似乎是一个WebKit问题,并且出于某种原因他们不想修复它(使其符合标准)。
答案 2 :(得分:0)
据我所知,Google Chrome会忽略多个选择框的所有选择尺寸属性。
见链接:
http://www.w3schools.com/TAGS/tryit.asp?filename=tryhtml_select_size
使用任何其他浏览器,然后尝试使用Google Chrome。 Chrome完全忽略了基本的HTML属性。