2011-11-18 3 views
1

jslider가 포함 된 페이지를 교차 브라우저에서 테스트했습니다. 이 함수는 IE8을 제외한 모든 브라우저/버전에서 스크립트 오류 ()를 던집니다. "개체가이 속성 또는 메서드를 지원하지 않습니다.".개체가이 속성 또는 메서드를 지원하지 않습니다 - 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; 
} 

어떤 아이디어 무슨 문제 : 나는 IE 스크립트 디버깅 시설에서 빌드를 실행하는 경우는 다음과 같은 기능 라인 element.attachEvent("on" + actualEventName, responder) 함께하는 문제를 식별합니다 (다음 코드 행은 함수 반환 전에 마지막 라인) 아마도?

+0

이것은 jQuery가 아니며 표준 Javascript입니다. jQuery를 사용한다면'$ (element) .bind ("click", handler);' – Niels

+0

jsfiddle에 호스트하면된다. – Baz1nga

답변

0

_getDOMEventName() 값을 반환합니까?

관련 문제