现已解决问题:)感谢大家的帮助和关注!
我在“ oAutoCompleteTextBox.focus();”行中间歇性地在IE6中收到JS错误“对方法或属性访问的意外调用”。希望有人之前已经看过这个问题,并且可以提供一些有关如何解决它的见解。以下是用法的上下文。
$(document).ready(function () {
...
oAutoCompleteTextBox = GetElement('<%=this.AutoCompleteTextBox.ClientID%>');
...
SetupDefaultValues();
}
function SetupDefaultValues() {
...
if(canFocus(oAutoCompleteTextBox)) {
oAutoCompleteTextBox.focus();
}
}
我在stackoverflow上的第一篇文章 - YAY!
答案 0 :(得分:1)
好的,问题是在updatepanel异步回发上没有触发jQuery $(document).ready()事件。解决方案是将ready()中的函数定义重构为显式函数定义(即函数pageReady(){...} )并将新的pageReady()事件处理程序添加到ASP.net系统.WebForms.PageRequestManager endRequest 仅在异步回发时触发的事件。
所以代码现在看起来像这样:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(pageReady);
$(document).ready(pageReady);
function pageReady() {
...
oAutoCompleteTextBox = GetElement('<%=this.AutoCompleteTextBox.ClientID%>');
...
SetupDefaultValues();
}
function SetupDefaultValues() {
...
if(canFocus(oAutoCompleteTextBox)) {
oAutoCompleteTextBox.focus();
}
}
感谢大家的帮助和关注 - 花了一段时间才弄明白,我很高兴它已经解决了:)
答案 1 :(得分:0)
oAutoCompleteTextBox是全局声明的吗?你是在document.ready函数中设置它,但试图在另一个函数中使用它。
答案 2 :(得分:0)