1. 실제 업무에서는 모두가 다양한 과제문을 작성하게 됩니다. 예를 들어 가장 일반적으로 사용되는 obj.style.display = "none"
이런 할당문이 너무 많으면 obj.style을 일렬로 배치하면 어지러워집니다. 🎜>
다음은 base.js의 확장 기능을 사용하면 json 형식의 속성은 물론 함수 핸들도 할당할 수 있습니다.
/**
* 확장 함수
* @param target 확장이 필요한 객체
* @param params 대상에 넣을 속성과 메소드
*/
functionextend(target, params) {
if (!target) {
target = {};
}
for (params의 var prop) {
target[prop] = params[prop];
반환 대상; 🎜>
2. IE는 w3c 표준을 완전히 준수하지 않으며 이벤트 모델이 다른 브라우저와 다르기 때문입니다.
호출 방법도 다릅니다.
컨트롤에 이벤트를 동적으로 추가해야 하는 경우. onclick = function() {} 사용은 DOM이 동적으로 생성되고 여러 핸들을 바인딩할 수 없는 경우 효과적이지 않을 수 있습니다. 다음은 모든 브라우저를 지원하는 일반적인 바인딩 이벤트 기능을 소개합니다.
대부분의 경우 useCapture는 false이므로 여기서는 그냥 쓰세요.
코드 복사
코드는 다음과 같습니다. /*** 동적으로 이벤트 핸들 생성 * 확장이 필요한 @param 제어 객체
* @param eventName 이벤트 이름
* @param fn 함수 핸들
*/
function addEventListener(control, eventName, fn) {
if (window.attachEvent) {
control.attachEvent('on' eventName, fn)
} else {
컨트롤 .addEventListener( eventName, fn, false);
}
}
위 두 함수의 사용 샘플은 제가 작성한 다른 기사의 코드를 참조하세요.