2011-11-18 134 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()它會返回一個值嗎?

相關問題