목차
回复讨论(解决方案)
웹 프론트엔드 HTML 튜토리얼 请教jQuery:Dialog的modal状态自动解除_html/css_WEB-ITnose

请教jQuery:Dialog的modal状态自动解除_html/css_WEB-ITnose

Jun 21, 2016 am 09:40 AM

jquery dialog modal状态消失

现在做的一个项目,画面上有检索,清除,追加等按钮,当追加按钮按下时,弹出jQuery的dialog。
共通js如下
var AddDialog = new function() {
  self.d = null
  this.init = function(opt){
    var o = {modal:true,..省略`..};
     for (var k in opt ){o[k]=opt[k]}
    self.d = $("#template").dialog(o);//template为div的id
    $("#btnsave").click(function(){/*共通保存方法*/});
    $("#btnclose").click(function(){/*共通关闭方法*/});
    //其他略
  }
  //其他略
}

各画面初始化时
$(function(){
  //其他略
  AddDialog.init();
  //其他略
});

这回感受jqueryDialog便利的同时,也碰到一个很奇怪的现象,很抓狂,不知道有没有人遇到过?

画面载入后,直接点追加按钮,在dialog上输入数据后,正确执行,入力检查时有错也可以在dialog的指定区域显示,modal状态也可以保持。但是,在按下检索按钮查询之后,在点追加按钮,dialog的入力项有错的时候,一切都可以正常显示,就是modal状态自动变成了false(并不是每次都这样,但是几率很大,因为不知原因,具体是哪个出了问题说不出来)。

有没有同行遇到过类似问题。麻烦诸位高人帮忙提示下调查的线索,不胜感激。

我用的jquery版本:1.5.2
ui版本为:1.8.13

我用firebug调试的时候,发现在执行我的入力检查方法之后,dialog依然是modal状态,但是在方法执行完,jquery判断是否存在其他handler之后,modal状态消失。怀疑是不是jquery的bug呢?

最后,怎样才能回避掉这个问题呢?

回复讨论(解决方案)

入力检查 代码呢?

入力检查 代码呢?

版主辛苦了,感谢。
问题已经查明白了。等晚上详细写一下,是自己程序的bug

昨天终于弄明白原因了,上面说的那些都没有用。居然是一直在用的共通部分出了问题。

1)画面的检索按钮按下的时候,会弹出一个处理中的modal-dialog(※1),然后共通JS会在检索的callback回调函数中关掉(※1)。
问题就出在这儿了,最开始的式样并没有要求弹出(※1),后来式样追加的时候,为了少改代码,将关掉(※1)的代码写在共通里面了。考虑到即使在不弹出(※1)的情况下,执行关掉(※1)的代码也不会错,关闭的代码就采取了无条件执行的写法。

2)点击追加按钮之后弹出的Modal-dialog(※2)。

在(※2)里面的按钮,按下后不需要弹出(※1)之类的东西,但是事件也会执行共通的callback回调函数。此时,在callback中,关闭(※1)的时候,就把追加的(※2)的modal状态也解除了。

对策:在关闭(※1)的时候,判断(※1)是否打开,只有在打开的情况下才执行关闭(※1)的代码。

提示:jQuery的Dialog的modal,是通过往页面body上追加一个设置了样式的DIV来实现的,所以会出现关掉(※1),remove掉这个div的同时,也把(※2)的modal状态给解除掉这种现象

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

공식 계정 웹 페이지의 캐싱 업데이트에 어려움 : 버전 업데이트 후 사용자 경험에 영향을 미치는 이전 캐시를 피하는 방법은 무엇입니까? 공식 계정 웹 페이지의 캐싱 업데이트에 어려움 : 버전 업데이트 후 사용자 경험에 영향을 미치는 이전 캐시를 피하는 방법은 무엇입니까? Mar 04, 2025 pm 12:32 PM

공식 계정 웹 페이지 업데이트 캐시, 이것은 간단하고 간단하며 냄비를 마시기에 충분히 복잡합니다. 공식 계정 기사를 업데이트하기 위해 열심히 노력했지만 사용자는 여전히 기존 버전을 열었습니까? 이 기사에서는이 뒤에있는 비틀기와 회전을 살펴 보고이 문제를 우아하게 해결하는 방법을 살펴 보겠습니다. 읽은 후에는 다양한 캐싱 문제를 쉽게 처리 할 수있어 사용자가 항상 가장 신선한 콘텐츠를 경험할 수 있습니다. 기본 사항에 대해 먼저 이야기 해 봅시다. 액세스 속도를 향상시키기 위해 브라우저 또는 서버는 일부 정적 리소스 (예 : 그림, CSS, JS) 또는 페이지 컨텐츠를 저장합니다. 다음에 액세스 할 때 다시 다운로드하지 않고도 캐시에서 직접 검색 할 수 있으며 자연스럽게 빠릅니다. 그러나 이것은 또한 양날의 검입니다. 새 버전은 온라인입니다.

웹 페이지의 PNG 이미지에 뇌졸중 효과를 효율적으로 추가하는 방법은 무엇입니까? 웹 페이지의 PNG 이미지에 뇌졸중 효과를 효율적으로 추가하는 방법은 무엇입니까? Mar 04, 2025 pm 02:39 PM

이 기사는 CSS를 사용한 웹 페이지에 효율적인 PNG 테두리 추가를 보여줍니다. CSS는 JavaScript 또는 라이브러리에 비해 우수한 성능을 제공하며, 미묘하거나 눈에 띄는 효과를 위해 테두리 너비, 스타일 및 색상 조정 방법을 자세히 설명합니다.

HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? Mar 17, 2025 pm 12:27 PM

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

& lt; datalist & gt의 목적은 무엇입니까? 요소? & lt; datalist & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:33 PM

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? Mar 17, 2025 pm 12:20 PM

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

& lt; meter & gt의 목적은 무엇입니까? 요소? & lt; meter & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:35 PM

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

& lt; Progress & Gt의 목적은 무엇입니까? 요소? & lt; Progress & Gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:34 PM

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소? html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소? Mar 12, 2025 pm 04:05 PM

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

See all articles