IE6 textBox.focus(); 导致“意外的调用方法或属性访问”(IE6 textBo

2019-10-18 21:29发布

这个问题现在来拆分:)感谢大家的帮助和关注!

我得到IE6中的间歇就行了JS错误“的方法或属性访问意外呼叫”“oAutoCompleteTextBox.focus();”。 希望有人见过这个问题,并能提供有关如何解决它的一些见解。 下面是使用的上下文。

$(document).ready(function () {
    ...
    oAutoCompleteTextBox = GetElement('<%=this.AutoCompleteTextBox.ClientID%>');
    ...
    SetupDefaultValues();
}

function SetupDefaultValues() {
    ...
    if(canFocus(oAutoCompleteTextBox)) {
        oAutoCompleteTextBox.focus();
    }
}

我的第一个职位上计算器 - 耶!

Answer 1:

好了,问题是,jQuery的$(文件)。就绪()事件不会对UpdatePanel的异步回发解雇。 解决的办法是准备()内函数定义重构为一个明确的函数的定义( 即功能pageReady(){...})和新pageReady()事件处理程序添加到ASP.net Sys.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();
    }
}

感谢大家的帮助和关注 - 一段时间以后才弄清楚,我很高兴它解决了:)



Answer 2:

被oAutoCompleteTextBox全局声明? 你设置它的的document.ready功能,但试图在另一个函数中使用它。



Answer 3:

你确定它的文本框? 什么是“canFocus”功能吗? 警报在该行,oAutoCompleteTextBox.tagName,那么如果是“INPUT”警报。类型,如果是“文本”,那么你有问题:)知道IE6,这可能是一个计时问题无非是,如果你打电话setupdefaultvalues在的setTimeout 10秒,我可能工作



文章来源: IE6 textBox.focus(); causing “Unexpected call to method or property access”