模态框(Modal)通俗的说就是在父窗体上弹出的一个子窗体。 通常用来显示一个单独的源内容或者是对一些模块进行进一步详细的介绍,可以在不离开父窗体的情况下进行一些互动和内容的交互。...不能在同一时间加载多个模块,但可以在页面上创建多个在不同时间进行加载。 在模态框中需要注意两点: 第一是 .modal,用来把 div> 的内容识别为模态框。 第二是 .fade class。...当模态框被切换时,它会引起内容淡入淡出。 aria-labelledby="myModalLabel",该属性引用模态框的标题。...2、keyboard 属性有 boolean,默认值:true , data-keyboard 是当按下 esc 键时关闭模态框,设置为 false 时则按键无效。...> div class="modal-body">按下 ESC 按钮退出。
,对于主窗体来说,当用户点击on_pushButton_clicked()按钮时,我们需要动态将自己创建的Dialog加载,读取出主窗体编辑框内的值并设置到子窗体内,当用户按下QDialog::Accepted...时则是获取子窗体内的值,此时通过调用ptr->GetValue()子窗体的成员函数来返回一个字符串,并将其设置到父窗体的编辑框内,主函数代码如下所示;// 首先要包含Dialog对话框类#include...item); int ref = ptr->exec(); // 以模态方式显示对话框 if (ref==QDialog::Accepted) // OK键被按下...,对话框关闭 { // 当BtnOk被按下时,则设置对话框中的数据 QString the_value = ptr->GetValue(); std::cout...receiveMsg其内部可以直接将参数设置到父类窗口的lineEdit组件上,而当on_pushButton_clicked按钮被点击是,我们只需要加载自己的子窗体,并Connect链接槽函数receiveMsg
函数中是如何接收参数的,对于主窗体来说,当用户点击on_pushButton_clicked()按钮时,我们需要动态将自己创建的Dialog加载,读取出主窗体编辑框内的值并设置到子窗体内,当用户按下QDialog...::Accepted时则是获取子窗体内的值,此时通过调用ptr->GetValue()子窗体的成员函数来返回一个字符串,并将其设置到父窗体的编辑框内,主函数代码如下所示; // 首先要包含Dialog对话框类...int ref = ptr->exec(); // 以模态方式显示对话框 if (ref==QDialog::Accepted) // OK键被按下...,对话框关闭 { // 当BtnOk被按下时,则设置对话框中的数据 QString the_value = ptr->GetValue(); std...receiveMsg其内部可以直接将参数设置到父类窗口的lineEdit组件上,而当on_pushButton_clicked按钮被点击是,我们只需要加载自己的子窗体,并Connect链接槽函数receiveMsg
1.窗体事件 例如 onload事件:当页面完全加载完成之后(包括图像,js文件,css文件等)该事件就会被触发。 div> ? 对此还有: resize事件:当调整浏览器的窗口到一个新的宽度或者高度时,就会触发resize事件。...ondblclick 鼠标双击某个对象 onerror 当加载文档或者图像时发生某个错误 onfocus 元素获得焦点 onkeydown 某个键盘的键被按下 onkeypress 某个键盘的键被按下或者按住...onkeyup 某个键盘的键被松开 onload 某个页面或者图像被完成加载 onmousedown 某个鼠标按键被按下 onmousemove 鼠标被移动 onmouseout 鼠标从某元素移开 onmouseover...onunload 用户退出页面 ---- 6.事件冒泡和事件捕捉 事件发生就会产生事件流,当一个HTML元素产生一个事件时,该事件会在元素节点和根节点之间按特定的顺序转播,类似于递和归。
(12)AcceptButton 属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按 Enter 键时就相当于单击了窗体上的该按钮。...(13)CancelButton 属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按 Esc 键时就相当于单击了窗体上的该按钮。...(3)Appearance 属性:用来获取或设置单选按钮控件的外观。当其取值为 Appearance.Button 时,将使单 选按钮的外观像命令按钮一样:当选定它时,它看似已被按下。...当执行进程时,进度条用系统突出显示颜色在水平栏中从左向右进行填充。进程完成时,进度栏被填满。...该属性是MouseButtons枚举型的值, 取值及含义如下:Left(按下鼠标左按钮)、Middle(按下鼠标中按钮)、Right(鼠标右按钮)、None(没有按下鼠标按钮)、 XButton1 (按下了第一个
简介:模态框(Modal)是覆盖在父窗体上的子窗体。通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动。子窗体可提供信息、交互等。...您可以使用按钮或链接。这里我们使用的是按钮。 如果您仔细查看上面的代码,您会发现在 标签中,data-target="#myModal" 是您想要在页面上加载的模态框的目标。...您可以在页面上创建多个模态框,然后为每个模态框创建不同的触发器。现在,很明显,您不能在同一时间加载多个模块,但您可以在页面上创建多个在不同时间进行加载。...在模态框中需要注意两点: 第一是 .modal,用来把 div> 的内容识别为模态框。 第二是 .fade class。当模态框被切换时,它会引起内容淡入淡出。...属性 aria-hidden="true" 用于保持模态窗口不可见,直到触发器被触发为止(比如点击在相关的按钮上)。
一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。...而ReleaseCapture悄悄相反,函数的功能就是释放对鼠标的捕捉。 为什么要使用这个ReleaseCapture函数,原因在于移动窗体标题时,需要释放对鼠标的捕捉,否则,就不能移动窗体标题。...SendMessage函数:该函数是用来给窗体发送Windows消息, 在本文中,该函数是模拟给非窗体客户区域(如窗体标题、最大化、最小化及关闭按钮区域)发送Windows消息,使特定区域能收到拖动窗体标题的消息...二、构建模拟移动窗体标题的应用程序,在这里我们使用了一个label(左边,label1),用来将鼠标移到该控件并拖动时,可以移动窗体, 另外一个label(右边,label2)则用来关闭窗体,如下图所示...SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); } 其中,WM_NCLBUTTONDOWN(0x00A1),用来给非客户端发送左键按下消息
一、弹窗的运用 弹窗效果在网页和app中的运用还是比较常见的。每当在手机里下载一个app时,请求获取存储空间和地理位置时,绝大部分都是使用的弹窗。它不仅提醒作用强、节约页面空间,还比较美观。...模态框(Modal)是覆盖在父窗体上的子窗体,目的是显示来自一个单独的内容,可以在不离开父窗体的情况下有一些互动(子窗体可提供信息、交互等)。...制作如下图3.1所示的模态框,用的是按钮触发器。...class="modalfade"当模态框被切换时,它会引起内容淡入淡出。class="modal-body",用于为模态窗口的主体设置样式。...默认情况下弹出框的宽度比较小,不适合要求,bootstrap中提供了modal-dialog的三个选项,大、默认、小(modal-lg最大,默认中,modal-sm最小)。
,如果存在多个窗体,需要分别设置每一个窗体的TopMost属性。...AcceptButton属性用于指定在用户按下回车键时,窗体要执行哪个按钮的Click事件。通常情况下,我们会将AcceptButton属性设置为表单中最主要的操作按钮,例如“确认”或“提交”按钮。...这样,用户在输入完毕后按下回车键,就会自动触发该按钮的Click事件。CancelButton属性用于指定在用户按下ESC键时,窗体要执行哪个按钮的Click事件。...通常情况下,我们会将CancelButton属性设置为“取消”或“关闭”按钮,这样用户在窗口操作过程中遇到问题,可以通过按下ESC键来取消操作。...这样,当用户按下回车键时,会自动触发buttonOK的Click事件;当用户按下ESC键时,会自动触发buttonCancel的Click事件。
当用户按下Tab键时,控件会按照TabIndex的顺序依次获得焦点。...ForeColor属性:控件的前景色。BorderColor属性:控件的边框颜色。BorderStyle属性:控件的边框样式。MouseDownBackColor属性:鼠标按下时控件的背景色。...,按钮的边框颜色为红色,边框宽度为1,背景色在鼠标按下时为黄色,在鼠标移过时为绿色,同时将按钮的样式设置为Flat。...另外需要注意的是,当UseMnemonic属性为true时,如果文本中有多个字符可作为快捷键,在显示时只会显示第一个。...按钮组合:多个Button可以组合成一个功能区,例如窗体顶部的工具栏、底部的操作按钮等。
设置单次定时器: 以下案例,实现当点击删除按钮时,屏幕提示删除成功,在5秒后自动的隐藏标签....◆键盘事件◆ keyDown: 当键盘按下某个键时会触发KeyDown事件,用于浏览器窗体,图像,超链接,文本区域.... 按钮1" onclick="alert('按钮1被按下了......')"> 按钮2" onclick="alert('按钮2被按下了......,按下按钮自动清空已经输入的数据.
: ToolWindow是专门用于显示设置窗体的,没有最大最小化按钮,只有关闭按钮: WindowState 这个属性用来设置窗体启动时是最大化还是最小化,它有三个值:默认大小Normal,就是用户通过...一般情况下,我们要做一个好看的窗体,使用微软给我们定义好的样式是不够的,我们会将窗体样式设置为None,然后自己去定义标题栏,但是当设置为None时,顶部还有一条白色的框,如下: 为了去掉它...当窗体样式设为None时,因为标题栏被隐藏,我们无法移动窗体,为了使窗体可以移动,我们要为window中的布局控件添加MouseDown事件的事件处理器,并且要为其设置一个背景(window设置为允许透明...} } 这样我们在Grid控件的空白区域上鼠标左键按下时,就可以拖动窗体进行移动。...当值后边带" * "号时,是按比例划分,纯数字就是按像素划分,这两者是可以混用的。
但有时候我们需要一次性修改多个数据,使用默认的模态对话框似乎不太够用,此时我们需要自己创建一个自定义对话框,这类对话框也是一种窗体,所以可以在其上面放置任何的通用组件,以实现更多复杂的开发需求。...目前自定义对话框与主窗体的通信有两种方式,一种是通过函数实现通信,另一种则是通过信号实现通信,我们以通过函数通信为基础,解释一下如何实现跨窗体通信。...,我们需要动态将自己创建的Dialog加载,读取出主窗体编辑框内的值并设置到子窗体内,当用户按下QDialog::Accepted时则是获取子窗体内的值,并将其设置到父窗体的编辑框内,主函数代码如下所示...item); int ref = ptr->exec(); // 以模态方式显示对话框 if (ref==QDialog::Accepted) // OK键被按下...,对话框关闭 { // 当BtnOk被按下时,则设置对话框中的数据 QString the_value = ptr->GetValue(); std::cout
但有时候我们需要一次性修改多个数据,使用默认的模态对话框似乎不太够用,此时我们需要自己创建一个自定义对话框,这类对话框也是一种窗体,所以可以在其上面放置任何的通用组件,以实现更多复杂的开发需求。...目前自定义对话框与主窗体的通信有两种方式,一种是通过函数实现通信,另一种则是通过信号实现通信,我们以通过函数通信为基础,解释一下如何实现跨窗体通信。...,我们需要动态将自己创建的Dialog加载,读取出主窗体编辑框内的值并设置到子窗体内,当用户按下QDialog::Accepted时则是获取子窗体内的值,并将其设置到父窗体的编辑框内,主函数代码如下所示...int ref = ptr->exec(); // 以模态方式显示对话框 if (ref==QDialog::Accepted) // OK键被按下...,对话框关闭 { // 当BtnOk被按下时,则设置对话框中的数据 QString the_value = ptr->GetValue(); std
动态绑定,其事件处理程序内部的this指向了当前正在操作的dom对象。 需求:同一个元素的同一个事件,绑定多个处理函数: <!...; } //当鼠标离开时触发 d.onmouseout = function(){ console.log('不要啊'); } //当鼠标按下时触发...input type="text" value="" id="t"> var d = document.getElementById('t'); //当键盘按下时触发...; } //当键盘按下时触发 d.onkeypress = function(){ console.log('撩起2?')...当点击div1时,触发 事件1,但是,紧跟着,事件2和事件3也被触发了; 这种现象,我们称为 事件冒泡 在JS中当一个事件发生以后,它会在不同的DOM节点之间传播。
如上方的,可以通过变量ming来达到引用此元素的目的。其中button为一个按钮 但是如果window对象已经具有此名字的属性。不会发生上述情况,因为ID已经被占用。...窗口和其他窗口并不是没有完全的关系。一个窗口或标签页中的脚本可以打开新的窗口或者标签页。当一个脚本这样做,多个窗口可以相互操作 iframe 已经处于半废弃的inframe标签。...挺无奈的,已经快废了。 不过学习还是学习一下吧 iframe是用来嵌套多个文档的。由iframe所创建的嵌套浏览上下文是用自己的window对象表示的。...只有设置了允许导航的页面才可以。 即,当且仅当窗口包含的文档来自相同的源,或者这个脚本打开的哪个窗口。...事实上,全局对象会在窗口或窗体载入新内容时被替换,即window对象实际不是全局对象,是一个代理,即windowProxy ps 需要注意一点的是在多个标签或者窗体的时候,每个窗体仅仅为一个线程,线程之间使用的是一个浏览器定义好的
本文主要会介绍如何基于MessengerJS,实现iframe父窗体与子窗体间的通信,传递数据信息。同时本文会提供一个可运行的实例代码,实现在父窗体中,获取到来自子窗体的数据的效果。...value="按钮" /> div> //子页面中,注册一个messager到一个统一的项目中,第一个参数为自己页面的名称...当接收到iframe子窗体发来的消息后执行。...然后在触发onclick事件时,向父窗口传递消息。发消息时,要指定接收消息的父窗体的messenger的名字,以及传递的消息。...同时提供了一个完整的实例,可以实现子窗体向父窗体传递消息,父窗体通过监听消息事件,来获取子窗体消息的目的。如有问题,欢迎指正。
基于bootstrap可以来开发出弹窗效果图 Bootstrap 模态框(Modal)插件 模态框(Modal)是覆盖在父窗体上的子窗体。...通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动。子窗体可提供信息、交互等。...您可以使用按钮或链接。这里我们使用的是按钮。 id=”videojs-dlg” 是想要在页面上加载的模态框的目标。可以在页面上创建多个模态框,然后为每个模态框创建不同的触发器。...但是不能在同一时间加载多个模块,但您可以在页面上创建多个在不同时间进行加载。 modal,用来把 “div > ”的内容识别为模态框。...$('#videojs-dlg').on('show.bs.modal', function () { // 执行一些动作... }) shown.bs.modal 当模态框对用户可见时触发(
keyword 的出现,或字段数据包含于 keyword 中 支持单关键字、多关键字的输入搜索建议,多关键字可自定义分隔符 支持按 data 数组数据搜索、按 URL 请求搜索和按首次请求URL数据并缓存搜索三种方式...AJAX 请求数据成功时触发,并传回结果到第二个参数 2、onSetSelectValue:当从下拉菜单选取值时触发,并传回设置的数据到第二个参数 3、onUnsetSelectValue:当设置了...', // ajax 搜索时显示的提示内容,当搜索时间较长时给出正在搜索的提示 hideOnSelect: false, // 鼠标从列表单击选择了值时,是否隐藏选择列表...//输入框背景色,当与容器背景色不同时,可能需要该项的配置 inputWarnColor: 'rgba(255,0,0,.1)', //输入框内容不是下拉列表选择时的警告色 listStyle...注意,应返回字符串 }; 提示:在 bootstrap v4 下, clearable 为 true 时,应引入 font-awesome 图标库,该清除按钮使用了 fa-plus 图标。
表5-4键盘按键事件 键盘事件 说 明 keydown 当键盘按下时第一个发生的事件,对所有按键有效 keypress 当键盘按下时第二个发生的事件,对中文和特殊按键无效 keyup 当键盘弹起时发生的事件...在这段代码中,利用jQuery对整个页面上下文分别做了三个键盘事件的绑定,先打开chrome浏览器的console窗体,然后在文本框中随意输入一个英文字母或数字时,就可以看到这个在三个键盘事件的执行顺序...图5-14键盘按下效果 但是当输在文本框中输入中文时,发现keypress事件并没有被执行,如图5-15所示,只在console窗体中输出了keydown事件和keyup事件。...图5-15按下中文按键测试 在jQuery中,如果你要获取键盘输入的是什么按键,那么可以利用事件参数的which属性即可(event.which)。...图5-16测试按下字母 总结现象得到,当开发人员要求获取键盘输入的按键大小写敏感或输入中文时,要特别注意对按键事件的筛选。
领取专属 10元无门槛券
手把手带您无忧上云