2011-11-18 136 views
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; 
} 

任何想法是什么问题也许?

+0

这不是jQuery,这是标准的Javascript。如果你使用jQuery,你可以执行'$(element).bind(“click”,handler);' – Niels

+0

把它放在jsfiddle – Baz1nga

回答

0

_getDOMEventName()它会返回一个值吗?

相关问题