У меня есть страница WebForms, который в том числе MicrosoftAjax.debug.js (4.1.7.123) в качестве ресурса сценария:[объект глобальными] не имеет метода «» attachEvent
// Name: MicrosoftAjax.debug.js
// Assembly: AjaxControlToolkit
// Version: 4.1.7.123
// FileVersion: 4.1.7.
// (c) 2010 CodePlex Foundation
При загрузке этого сценарий самостоятельно вызывает , в конце концов вызова этой функции:
var attachEvent = !!document.attachEvent;
...
function listenOnce(target, name, ieName, callback, isReadyState, isScript) {
function onEvent() {
if (!attachEvent || !isReadyState || /loaded|complete/.test(target.readyState)) {
if (attachEvent) {
target.detachEvent(ieName || ("on" + name), onEvent);
}
else {
target.removeEventListener(name, onEvent, false);
if (isScript) {
target.removeEventListener("error", onEvent, false);
}
}
callback.apply(target);
target = null;
}
}
if (attachEvent) {
target.attachEvent(ieName || ("on" + name), onEvent);
}
else {
if (target.addEventListener) {
target.addEventListener(name, onEvent, false);
}
if (isScript) {
target.addEventListener("error", onEvent, false);
}
}
}
проблема заключается в том, что в Chrome я получаю следующее сообщение об ошибке: Javascript
Uncaught TypeError: Object [объект глобальный] не имеет никакого метода «attachEvent»
На следующей строке:
target.attachEvent(ieName || ("on" + name), onEvent);
Прикрепление отладчик, target
является объект окна, который, как и следовало ожидать, не имеет метод attachEvent()
в Chrome.
document.attachEvent()
является следующая функция:
function (sType, fHandler) {
var shortTypeName = sType.replace(/on/, "");
fHandler._ieEmuEventHandler = function (e) {
window.event = e;
return fHandler();
};
this.addEventListener(shortTypeName, fHandler._ieEmuEventHandler, false);
}
Является ли это ошибка в сценарии Microsoft Ajax? Хром? Или это вызвано некоторым условием на странице?
В любом случае, как я могу его решить?
Что такое 'document.attachEvent'? (в консоли) – SLaks
Ну, у Chrome нет 'attachEvent', это метод IE. Поэтому возникает вопрос: почему '!! document.attachEvent', похоже, оценивается как« истинный »? –
Я обновил свой вопрос относительно document.attachEvent –