ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## Dialog ### 调用方式 dialog支持三种不同的调用方式,一般使用$.dialog(options)即可,不同的方式配置options后都会直接toggle弹窗。 ~~~ //最简单的方式,组件会根据默认模板输出dom结构 $.dialog(options); //通过传入模板字符串的方式 $('<div><%=title%><</div>').dialog(options); //通过传入css选择器的方式 $("#id").dialog(options); ~~~ ### 配置说明 <table> <tbody><tr> <th>name</th> <th>type</th> <th>default</th> <th>description</th> </tr> <tr> <td>title</td> <td>string</td> <td>''</td> <td>浮层标题,用来填充模板</td> </tr> <tr> <td>content</td> <td>string</td> <td>''</td> <td>浮层内容,用来填充模板</td> </tr> <tr> <td>button</td> <td>array</td> <td>['确认']</td> <td>浮层底部按钮的文字数组,建议不超过两个,与callback的index相互对应</td> </tr> <tr> <td>select</td> <td>int</td> <td>0</td> <td>需要高亮的按钮索引(与button相互对应),高亮的按钮会添加类名<code>select</code></td> </tr> <tr> <td>allowScroll</td> <td>bool</td> <td>false</td> <td>弹窗弹出后是否允许页面滚动</td> </tr> <tr> <td>callback</td> <td>funtion</td> <td>function(){}</td> <td>点击底部按钮后的回调函数,可以通过函数的第一个参数来获取点击的按钮索引(与button对应)</td> </tr> <tr> <td>animation</td> <td>string</td> <td>'pop'</td> <td>弹窗弹出的动画类名,会自动为弹窗外层加上该类名</td> </tr> <tr> <td>end</td> <td>function</td> <td>function(){}</td> <td>弹窗弹出后或者消失后的回调,可以通过函数第一个参数来获取状态('show'为弹出后,'hide'为消失后)</td> </tr> </tbody></table> ### 模板规则 1. 模板弹出时自动为顶级加上show类名,隐藏时自动去掉show,所以一般需要通过show类名来控制模板的显示隐藏。 2. 模板约定底部按钮的标签必须设置属性data-role='button' 3. 模板约定需要触发关闭的按钮或元素必须设置属性data-role='dismiss' 4. 建议使用默认模板 ### DEMO演示 ![](https://box.kancloud.cn/33df7cec42c74dfbd4bdfe6fea2d44a3_324x477.png) ~~~ <div class="ui-center"> <div class="ui-btn" id="btn1">模板创建弹窗</div> <div class="ui-btn" id="btn2">DOM创建弹窗</div> </div> <div class="ui-dialog"> <div class="ui-dialog-cnt"> <div class="ui-dialog-bd"> <div> <h4>标题</h4> <div>内容</div></div> </div> <div class="ui-dialog-ft ui-btn-group"> <button type="button" data-role="button" class="select" id="dialogButton<%=i%>">关闭</button> </div> </div> </div> <script type="text/javascript"> $("#btn1").tap(function(){ var dia=$.dialog({ title:'温馨提示', content:'温馨提示内容', button:["确认","取消"] }); dia.on("dialog:action",function(e){ console.log(e.index) }); dia.on("dialog:hide",function(e){ console.log("dialog hide") }); }) $("#btn2").tap(function(){ var dia2=$(".ui-dialog").dialog("show"); dia2.on("dialog:action",function(e){ console.log(e.index) }); }) </script> ~~~