我们使用aspx页面中的JavaScript来动态更改文本框的大小。它在文档模式下工作:IE中为8,但在9及以上版本中不起作用。也无法在Chrome中使用。
<script type="text/javascript">
var objTextBox_<%= this.txtTextArea.ClientID %> = new ObjTextBox('<%= this.txtTextArea.ClientID %>',0,'<%= this.lblMaxLength.Text %>','<%= this.btnExpand.ClientID %>','<%= this.btnShrink.ClientID %>','<%= this.lblCurrentLength.ClientID %>');
function resizeTextBox_<%= this.txtTextArea.ClientID %>()
{
if (GetCookie('<%= this.txtTextArea.ClientID %>'))
{
expandTextBox_OnClientClick(objTextBox_<%= this.txtTextArea.ClientID %>);
}
var textBox = document.getElementById('<%= this.txtTextArea.ClientID %>');
if ((true == textBox.disabled) && (textBox.clientHeight < textBox.scrollHeight))
{
textBox.style.height = textBox.scrollHeight;
}
}
window.addEventListener("onload", resizeTextBox_<%= this.txtTextArea.ClientID %>);
</script>
答案 0 :(得分:1)
它似乎很奇怪,它在IE8中工作而不是更高,因为.addEventListener()
在IE8中不支持,但是在更高的版本中。
但是你传递"onload"
而不是"load"
作为第一个参数,这是不正确的,所以我认为在工作中有一个polyfill接受&#34; on&#34; IE8的前缀(或省略时添加),并且不会为IE9及以上版本删除它。
简而言之,将"onload"
更改为"load"
。