请教jQuery:Dialog的modal状态自动解除_html/css_WEB-ITnose
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状态给解除掉这种现象

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der Artikel erörtert den HTML & lt; Progress & gt; Element, Absicht, Styling und Unterschiede vom & lt; Meter & gt; Element. Das Hauptaugenmerk liegt auf der Verwendung & lt; Fortschritt & gt; Für Aufgabenabschluss und & lt; Meter & gt; für stati

Der Artikel erörtert den HTML & lt; Datalist & gt; Element, das die Formulare verbessert, indem automatische Vorschläge bereitgestellt, die Benutzererfahrung verbessert und Fehler reduziert werden.Character Count: 159

Der Artikel erörtert das HTML & lt; Meter & gt; Element, verwendet zur Anzeige von Skalar- oder Bruchwerten innerhalb eines Bereichs und seine gemeinsamen Anwendungen in der Webentwicklung. Es differenziert & lt; Meter & gt; von & lt; Fortschritt & gt; und Ex

In dem Artikel wird das Ansichtsfenster -Meta -Tag erörtert, das für das reaktionsschnelle Webdesign auf mobilen Geräten unerlässlich ist. Es wird erläutert, wie die ordnungsgemäße Verwendung eine optimale Skalierung von Inhalten und Benutzerinteraktion gewährleistet, während Missbrauch zu Design- und Zugänglichkeitsproblemen führen kann.

In dem Artikel werden unter Verwendung von HTML5 -Formularvalidierungsattributen wie Erforderlich, Muster, Min, MAX und Längengrenzen erörtert, um die Benutzereingabe direkt im Browser zu validieren.

Dieser Artikel erklärt den HTML5 & lt; Time & gt; Element für semantische Datum/Uhrzeit. Es betont die Wichtigkeit des DateTime-Attributs für die Maschinenlesbarkeit (ISO 8601-Format) neben menschenlesbarem Text, das Zubehör steigert

In Artikel werden Best Practices zur Gewährleistung der HTML5-Cross-Browser-Kompatibilität erörtert und sich auf die Erkennung von Merkmalen, die progressive Verbesserung und die Testmethoden konzentriert.

Der Artikel erörtert das & lt; iframe & gt; Der Zweck von Tag, externe Inhalte in Webseiten, seine gemeinsamen Verwendungen, Sicherheitsrisiken und Alternativen wie Objekt -Tags und APIs einzubetten.
