1
我已经跨浏览器测试了一个包含jslider的页面。它在除IE8之外的所有浏览器/版本中都能正常运行,并引发脚本错误“对象不支持此属性或方法”。当我在IE脚本调试设备运行生成它确定这个问题是在下面的函数行element.attachEvent("on" + actualEventName, responder)
(这行代码是函数返回前的最后一行):对象不支持此属性或方法 - 仅限IE8?
function observe(element, eventName, handler) {
element = $(element);
var responder = _createResponder(element, eventName, handler);
if (!responder) return element;
if (eventName.include(':')) {
if (element.addEventListener)
element.addEventListener("dataavailable", responder, false);
else {
element.attachEvent("ondataavailable", responder);
element.attachEvent("onlosecapture", responder);
}
} else {
var actualEventName = _getDOMEventName(eventName);
if (element.addEventListener)
element.addEventListener(actualEventName, responder, false);
else
element.attachEvent("on" + actualEventName, responder);
}
return element;
}
任何想法是什么问题也许?
这不是jQuery,这是标准的Javascript。如果你使用jQuery,你可以执行'$(element).bind(“click”,handler);' – Niels
把它放在jsfiddle – Baz1nga