>  기사  >  웹 프론트엔드  >  IE는 DOM 노드를 동적으로 추가하여 window.resize event_javascript 기술을 트리거합니다.

IE는 DOM 노드를 동적으로 추가하여 window.resize event_javascript 기술을 트리거합니다.

WBOY
WBOY원래의
2016-05-16 18:22:171210검색

그런 다음 페이지에 DOM 요소를 동적으로 추가하는 여러 이벤트가 있습니다. 예를 들어 특정 레이어를 클릭하면 하단에 레이어의 세부 정보가 나열됩니다. 이런 식으로 FF와 Chrome에서는 문제가 없지만 IE6에서는 문제가 없습니다. 8에서는 레이아웃이 매번 다시 레이아웃됩니다.

예를 들어 레이어를 드래그하면 드래그 과정에서 레이어의 내용이 하단에 표시됩니다. 드래그하기 전 위치로 다시 돌아갑니다...

처음에는 재배치인줄 모르고... 그러다가 한참 시연하고 한참 고생하다가 드디어. , window.resize를 실행하는 DOM 노드의 동적 추가로 인해 페이지가 다시 레이아웃될 수도 있다는 느낌이 들었습니다. ...

마침내 "맙소사...."를 외칠 수 없었습니다. " 마음속으로. 다행히 창 높이를 변경해도 페이지 레이아웃에는 아무런 영향이 없으며 그렇지 않으면 정말 번거로울 것입니다...

코드 복사 코드는 다음과 같습니다.

bindResizeWindow:function(){
var obj = this; ){
var newWidth = $(window).width();
if(newWidth == obj.windowWidth){return;}
obj.initUI()
obj.createUI() ;
obj.windowWidth = newWidth;
});
},


바인딩 방법은 너비가 변경될 때만 릴레이아웃 이벤트를 트리거하면 됩니다. ...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.