jquery - jquey tabs ajax load html 冲突问题?
迷茫
迷茫 2017-05-15 16:49:51
0
1
824

tabs load的html,里面有js,也有html,id,都有可能冲突,如何解决?

(不用ifame哦,iframe每次加载明显不如load,即便是缓存,也要初始化很多的,而且iframe内部带的dialog要在iframe外显示也很费劲,多个页面有同样的dialog也会出现这种问题)

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(1)
过去多啦不再A梦

세 가지 옵션이 있습니다:

  1. 몇 가지 명명 규칙을 사용하여 ID를 충돌하지 않는 형식으로 수정하세요. 이 솔루션은 주제의 요구 사항에 가장 부합하지 않는 것처럼 보이지만 나중에 단계에서 많은 문제를 줄일 수 있기 때문에 개인적으로 권장합니다. 이러한 HTML이 논리적으로 동일한 인터페이스에 있는 경우 서로 다른 ID를 가져야 합니다. 그렇지 않으면 나중에 논리와 스타일을 작성할 때 문제가 발생합니다.

  2. 탭의 HTML에만 ID 충돌이 있고 동시에 하나의 탭만 표시된다고 가정하면 탭을 잘라낼 때마다 표시되지 않은 탭을 DOM에서 분리하고 다음 경우 추가하는 것을 고려할 수 있습니다. 필요합니다.

  3. <iframe>contentWindow를 설정하여 HTML을 표시하려면 내용을 수정할 수 있습니다. 여전히 HTML의 외부 스타일과 스크립트는 물론 다양한 대화 상자를 표시할 수 있기를 원한다면 다양한 해킹 방법을 사용할 수도 있지만 여전히 문제가 끝없이 발생하는 해킹입니다. <iframe src="about:blank"></iframe> 来显示 html,通过设置 <iframe>contentWindow.document.body.innerHTML 可以修改它的内容。如果还希望能很好的显示 html 的外带样式和脚本,还有各种 dialog,也可以有各种 hack 的方法,但总归是个 hack,后患无穷。

P.S. 应题主要求,补充一些 hack 的思路。

  1. 如何让 jQuery UI 的 dialog 默认插入到指定的地方?

可以通过下面代码覆盖 dialog 的默认选项,其中关键的是 appendTo

P.S. 주제 소유자의 요청에 따라 몇 가지 해킹 아이디어를 추가하겠습니다.

🎜 🎜jQuery UI의 대화 상자를 기본적으로 지정된 위치에 삽입하는 방법은 무엇입니까? 🎜 🎜다음 코드를 통해 대화 상자의 기본 옵션을 재정의할 수 있으며, 가장 중요한 것은 appendTo 옵션입니다. 🎜 으아아아 🎜탭을 로드하기 전이나 탭을 전환한 후에 매번 이 옵션을 설정하고, 현재 표시된 탭 노드로 설정하세요. 🎜
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!