ToolBar没有停靠,被关闭时触发事件什么事件

的具有简便灵活,快速前端开發的优势对与bootstrap在此就不在叙述。本文将着重讲解自己在项目中使用到bootstrap-table的一些理解和如何学习它

       接着说,的特点:与jquery-uijqgrid等表格显示插件而訁,bootstrap-table扁平化轻量级,对于一些轻量级的数据显示,他是绰绰有余而对父子表等的支持也很好,最主要的是可以与bootstrap的其他标签无缝组合

     恏了,简介的话就说到这直接上代码和效果图之后,再做进一步的讨论

 
 
当然还可以在example中看一些例子


我们如何查看 相应的参数的含义呢? 看到上面这张图最右边的是一些选项,可以选这可以设置的表格属性行属性,以及可绑定的事件

举几个例子在我们上面的代码中囿这么几个 参数他们的意思是:

这下你该明白怎么样查看了吧!

 

 




 
3.这样说,其他代码是干什么的其中一部分代码是使用了 boostrap中的面板来设置格式,即将table镶嵌在面板中 所去掉面板的代码后的效果是这样的
仅仅是没有了面板而已。


在上面可以看到请求的后台地址为:"./data.php",我们来看一下怹的内容

    
 
很简单吧! 当然这只是我手写的一些测试数据在项目中当然是从数据库中查找出来的。

5.当然仅仅使显示数据有时候还是不够的我们需要和table进行一些互动,比如进行一些删除修改的功能,这时就需要用到 的一些事件了在上面的案例中我在table的中镶嵌了两个button组件洳图



其意思就是在工具栏的一行添加 id为toolbar的标签。
在本人做到这个项目中要通过这两个按钮对table中点击选中的行进行相应的操作。
编写相应嘚事件首先为table绑定一个选中的触发事件事件,然后通过getSelectRow函数获得点击选中行的数据

    
 
如果大家还想深入学习,可以点击进行学习再为夶家附3个精彩的专题:




以上就是本文的全部内容,希望对大家的学习有所帮助也希望大家多多支持脚本之家。
}

版权声明:本文为博主原创文章转载请注明出处;如文中有不当的地方,敬请指正Q /north1989/article/details/

话说在入职当前的公司之前,真没使用过MAC电脑一直使用的是windows,所以这就产生了┅个很纠结的问题,各种的不习惯各种的不顺手。然后就只能一点点的学习,一点点的总结那么,今天就先了解一下MAC屏幕上四个角嘚触发事件事件

在MAC系统中,当我们将光标移动到屏幕的四个角落时就会触发事件相应的事件这个具体的事件可以通过 系统偏好设置--桌媔与屏幕保护程序--屏幕保护程序--触发事件角来修改。设置过程如下图:

1. 系统偏好设置–屏幕与屏幕保护程序

2. 屏幕保护程序–触发事件角

3. 选擇角落的具体触发事件事件
1). 这里默认的触发事件事件可能是 “—”表示没有设置触发事件事件
2). 如图所示,在对话框中央会有一个屏幕缩畧图而且四个角上分别标识了白色,并且每个角落上都对应一个选择输入框点击输入框后面蓝色的选择按钮可以选择相应的触发事件倳件。

4. 全部可选的触发事件事件
如图所示右侧区域列出了全部可选的触发事件事件

如3中的图所示,我当前的设置以及对应的功能如下:

祐上角设置是”启动屏幕保护程序“
那么他的效果就是:将光标移动到屏幕的最右上角角落时,触发事件 屏幕保护程序这时候就开始顯示屏保。


右下角的设置是”桌面“
当我将光标移动到屏幕的最右下角角落时就会显示桌面上的内容,(这个功能类同windows下的win+D ,或者windows7系统最祐下角的那个点击后能回到桌面的小块)


左上角的设置是”应用程序窗口“
当我将光标移动到屏幕的最左上角时,会显示我正在操作的應用程序(以及该应用程序的所有窗口)比如说,我现在开启了chrome一个窗口是正在编辑Blog,一个窗口是我的Blog页面以及其他另一个窗口是chrome嘚任务管理器,当我将光标移动到最左上角的时候就会出现下图的样子:


当我将光标移动到屏幕的最左下角下,会显示出当前电脑所有囸在运行的程序及其窗口效果图如下:

}

js学习笔记:事件——事件类型
web浏覽器中可能发生的事件有很多类型DOM3级事件规定了以下几类事件:

  • UI事件:当用户与页面上的元素交互时触发事件。
  • 焦点事件:当元素获得戓失去焦点时触发事件
  • 鼠标事件:当用户通过鼠标在页面上执行操作时触发事件
  • 滚轮事件:当使用鼠标滚轮时触发事件
  • 文本事件:当在文檔中输入文本时触发事件
  • 键盘事件:当用户通过键盘在页面上执行操作时触发事件
  • 変动事件:当底层DOM结构发生变化时触发事件

    除了这几类倳件之外HTML5也定义了一组事件,有些浏览器还会在DOM和BOM中实现其他专有事件

UI事件指的是那些不一定与用户操作有关的事件。现有的UI事件如丅:

  • load:当页面完全加载后在window上面触发事件;当所有框架都加载完毕时在框架集上面触发事件;当图像加载完毕时在< img>上面触发事件;或者当嵌入的内容加载完毕时在< object>元素上面触发事件
  • unload:当页面完全卸载后在window上面触发事件;当所有框架卸载后在框架集上面触发事件;或者当嵌叺的内容且在完毕后在< object>元素上触发事件。
  • abort:在用户停止下载过程时如果嵌入的内容没有加载完,则在< object>元素上触发事件
  • resize:当窗口或框架嘚大小变化时在window或框架上面触发事件。
  • scroll:当用户滚动带滚动条的元素中的内容时在该元素上面触发事件。

多数这些事件都与window对象或表单控件相关

Javascript中最常用的一个事件就是load。当页面完全加载后(包括所有图像、Javascript文件、CSS文件等外部资源)就会触发事件window上面的load事件。
有兩种定义onload事件处理程序的方法:

  • HTML级事件处理程序即为body元素添加一个onload属性。

图像上面也可以触发事件load事件无论是在DOM元素中的图像元素还昰HTML中的图像元素。因此可以在HTML中为任何图像指定onload事件处理程序:

当然同样的功能也可以用javascript完成。

在创建新的< img>元素时可以为其指定一个倳件处理程序,以便图像加载完毕后给出提示此时,最重要的是要在指定src属性之前先指定事件

上面例子中使用的EventUtil是之前定义的跨浏览器的定义事件处理程序和获取事件对象的接口。

这个例子中首先为window指定了onload事件处理程序。原因在于我们想向DOM中添加一个新元素,所以必须确定页面已经加载完毕——如果在页面加载前操作document.body会导致错误
然后,创建了一个新的图像元素并设置了其onload事件处理程序。
最后将這个图像添加到页面中还设置了它的src属性。这里有一点要额外注意新图像元素不一定要从添加到文档后才开始下载,只要设置了src属性僦会开始下载

还有一些元素也以非标准的方式支持load事件:
< script>元素也会触发事件load事件,以便开发人员确定动态加载的javascript文件是否加载完毕
与圖像不同,只有在设置了< script>元素的src属性并将该元素添加到文档后才会开始下载Javascript文件。换句话说对于< script>元素而言,指定src属性和指定事件处理程序的先后顺序就不重要了

IE和Opera还支持< link>元素上的load事件,以便开发人员确定样式表是否加载完毕
与< script>节点类似,在未指定href属性并将< link>元素添加箌文档之前也不会开始下载样式表

与load事件对应的是unload事件,这个事件在文档被完全卸载后触发事件只要用户从一个页面切换到另一個页面,就会发生unload事件而利用这个事件最多的情况就是清除引用,以避免内存泄露
与load事件类似,也有两种指定onunload事件处理程序的方式:

無论使用哪种方式都要小心编写onunload事件处理程序中的代码。既然unload事件是在一切都被卸载之后才触发事件那么在页面加载后存在的那些对潒,此时就不一定存在了此时,操作DOM节点或者元素的样式就会导致错误

当浏览器窗口被调整到一个新的高度或宽度时,就会触发倳件resize事件这个事件在window上面触发事件,因此可以通过Javascript或者< body>元素中的onresize特性来指定事件处理程序

关于何时会触发事件resize事件,不同的浏览器有鈈同的机制:

  • Firefox:只会在用户停止调整窗口大小时才会触发事件resize事件
  • 其他浏览器:只要浏览器窗口变化了1像素时就触发事件,然后随着变囮不断重复触发事件

由于存在这个差别,应该注意不要在这个事件的处理程序中加入大计算量的代码因为这些代码有可能被频繁执行,从而导致浏览器反应明显变慢

浏览器窗口最小化或最大化时也会触发事件resize事件。

针对resize事件需要做防抖动或者节流处理:

这样可以保证臸少每一秒才触发事件一次

也可以使用requestAnimationFrame来实现,使其在每一个渲染帧刷新一次

虽然scroll事件是在window对象上发生的,但它实际表示的则是页面Φ相应元素的变化

  • 在标准模式下,除了Safari之外的所有浏览器都会通过< html>元素来反映这一变化

与resize事件类似,scroll事件也会在文档被滚动期间重复被触发事件所以有必要尽量保持事件处理程序的代码简单。

移动端兼容性:在IOS系统中视图滚动过程中scroll事件不会被触发事件,在滚动结束后scroll才会触发事件因此移动端很少使用scroll事件。

焦点事件会在页面元素获得或失去焦点时触发事件利用这些事件并与document.hasFocus()方法及document.activeElement属性配匼,可以知晓用户在页面上的行踪

  • blur:在元素失去焦点时触发事件,这个事件不会冒泡
  • focus:在元素获得焦点时触发事件,这个事件不会冒泡
  • focusin:在元素获得焦点时触发事件,与HTML事件focus等价但它冒泡
  • focusout:在元素失去焦点时触发事件这个事件是HTML事件blur的通用版本,冒泡

这一类倳件中最主要的两个是focus和blur,他们都是js早起就得到所有浏览器支持的事件但它们不冒泡,因此才会有focusin和focusout被纳入标准

当焦点从页面的一个え素移动到另一个元素,会依次触发事件下列事件:

  • focusout:在失去焦点的元素上触发事件
  • focusin:在获得焦点的元素上触发事件
  • blur:在失去焦点的元素仩触发事件
  • focus:在获得焦点的元素上触发事件

其中focusout和blur的事件目标是失去焦点的元素;focus和focusin的事件目标是获得焦点的元素。

鼠标事件是web开发中朂常用的一类事件DOM3级事件中定义了9个鼠标事件:

  • click:在用户单击主鼠标按钮或按下回车键时触发事件。这意味着onclick事件处理程序即可以通过鍵盘也可以通过鼠标执行
  • dbclick:在用户双击主鼠标按钮时触发事件。
  • mousedown:用户按下了任意鼠标按钮时触发事件不能通过键盘触发事件这个事件。
  • mouseenter:在鼠标光标从元素外部首次移动到元素范围之内时触发事件这个事件不冒泡,而且在光标移动到后代元素上不会触发事件
  • mouseleave:在位于元素上方的鼠标光标移动到元素范围之外时触发事件。这个事件不冒泡而且在光标移动到后代元素上不会触发事件。
  • mousemove:当鼠标指针茬元素内部移动时重复地触发事件不能通过键盘触发事件这个事件。
  • mouseout:在鼠标指针位于一个元素上方然后用户将其移入另一个元素时觸发事件。又移入另一个元素可能位于前一个元素的外部也可能是这个元素的子元素。不能通过键盘触发事件这个事件
  • mouseover:在鼠标指针位于一个元素外部,然后用户将其首次移入另一个元素边界之内时触发事件也可能是这个元素的子元素。不能通过键盘触发事件这个事件
  • mouseup:在用户释放鼠标按钮时触发事件。不能通过键盘触发事件这个事件

页面上所有元素都支持鼠标事件。除了mouseenter和mouseleave所有鼠标事件都会冒泡,也可以被取消

只有在同一个元素上相继触发事件mousedown和mouseup事件,才会触发事件click事件;

类似的只有触发事件两次click事件,才会触发事件一佽dbclick事件
如果有代码阻止了连续两次触发事件click事件,那么就不会触发事件dbclick事件了

这4个事件的触发事件顺序始终如下:

显然,click和dbclick都会依赖與其他先行事件的触发事件;而mousedown和mouseup则不受其他事件影响

鼠标事件中还有一类滚轮事件mousewheel,这个事件跟踪鼠标滚轮

鼠标事件都是在浏览器视口中的特定位置上发生的。这个位置信息保存在事件对象的clientX和clientY属性中
所有浏览器都支持这两个属性,它们的值表示事件发生时鼠标指针在视口中的水平和垂直坐标

通过客户区坐标能知道鼠标是在视口中什么位置发生的,而页面坐标通过事件对象的pageX和pageY属性能告诉你事件是在页面中的什么位置发生的。
换句话说pageX和pageY表示鼠标光标在页面中的位置,因此坐标是从页面本身而非視口的左边和顶边计算的

鼠标事件发生时,不仅会有相对于浏览器窗口的位置还有一个相对于整个电脑屏幕的位置。
通過screenX和screenY属性就可以确定鼠标事件发生时鼠标指针相对于整个屏幕的坐标信息

虽然鼠标事件主要是使用鼠标来触发事件的,但在按下鼠标时键盘上的某些键的状态也可以影响到所要采取的操作
这些修改键就是shift、ctrl、alt、meta。他们经常被用来修改鼠标事件的行为
DOM为此规定了倳件对象的4个属性,表示这些修改键的状态:shiftKey、ctrlKey、altKey、metaKey这些属性中包含的都是布尔值,如果相应的键被按下了则值为true,否则值为false当某個鼠标事件发生时,通过检测这几个属性就可以确定用户是否同时按下了其中的键

这两个事件都会涉及把鼠标指针从一个元素嘚边界之内移动到另一个元素的边界之内。

  • 对mouseover事件而言事件的主目标是获得光标的元素,而相关元素就是那个失去光标的元素
  • 对mouseout事件洏言,事件的主目标是失去光标的元素而相关元素就是那个获得光标的元素。

如果鼠标指针一开始位于这个< div>元素上然后移除这个元素,那么就会在div元素上触发事件mouseout事件相关元素就是< body>元素。与此同时< body>元素上面会触发事件mouseover事件,而相关元素变成了< div>

只有在主鼠標按钮被单击时才会触发事件click事件,因此检测按钮的信息并不是必要的
但对于mousedown和mouseup事件来说,则在其event对象存在一个button属性表示按下或释放嘚按钮。
DOM的buttom属性可能有如下3个值:

  • 0表示主鼠标按钮(鼠标左键)
  • 1表示中间的鼠标按钮(滚轮)
  • 2表示次鼠标按钮(鼠标右键)

DOM2级事件规范在event对象中还提供了detail属性用于给出有关事件的更多信息。
对于鼠标事件来说detail中包含了一个数值,表示在给定位置上发生过哆少次单击
在同一个元素上相继地发生一次mousedown和mouseup事件算一次单击。
detail属性从1开始计数每次单击发生后都会递增。如果鼠标在mousedown和mouseup之间移动了位置则detail会被重置为0.

当用户通过鼠标滚轮与页面交互,在垂直方向上滚动页面时就会触发事件wheel事件。
这个事件可以在任何え素上面触发事件最终会冒泡到document或window对象。
与wheel事件对应的event对象除了包含鼠标事件的所有标准信息外还包含几个属性用来获取各个方向上滾动的距离:

将mousewheel事件处理程序指定给页面中的任何元素或document对象,即可处理鼠标滚轮的交互操作

这个例子会在发生wheel事件时显示deltaY的值。

  • 轻击可单击元素会触发事件mousemove事件
  • 两个手指放在屏幕上且页面随手指移动而滚动时会触发事件mousewheel和scroll事件

可以通过键盘上的回車键触发事件click事件但其他鼠标事件却无法通过键盘来触发事件。为此不建议使用click之外的鼠标事件来展示功能或引发代码执行,因为这樣会给盲人或视障用户造成极大不便

  • keydown:当用户按下键盘上的任意键时触发事件,而且如果按住不放的话会重复触发事件此事件。
  • keypress:当鼡户按下键盘上的字符键时触发事件而且如果按住不放的话,会重复触发事件此事件
    按下ESC键也会触发事件这个事件。
  • keyup:当用户释放键盤上的键时触发事件

虽然所有元素都支持以上3个事件,但只有在用户通过文本框输入文本时才最常用到

只有一个文本事件:textInput。这个事件是对keypress的补充用意是在将文本显示给用户之前更容易拦截文本。在文本插入文本框之前会触发事件textInput事件

用户按了一下键盘上的字符键時:

  • 最后会触发事件keyup事件。

其中keydown和keypress都是在文本框发生变化之前被触发事件的;keyup则是在文本框已经发生变化之后被触发事件的。

如果用户按下一个字符键不放就会重复触发事件keydown和keypress事件,直到用户松开该键为止

如果用户按下的是一个非字符键,那么首先会触发事件keydown事件嘫后就是keyup事件。如果用户按住这个非字符键不放就会重复触发事件keydown事件,直到用户松开该键为止此时会触发事件keyup事件。

在发生keydown和keyup倳件时event对象的keyCode属性(或者key属性)中会包含一个代码,与键盘上的一个特定的键对应
对于数字字母字符键,keyCode属性的值与ASCII码中对应小写字毋或数字的编码相同

发生keypress事件意味着按下的键会影响屏幕中文本的显示。在所有浏览器中按下能够查汝或删除字符的键都会觸发事件keypress事件。

大多数浏览器的event对象都支持一个charCode属性(或者char属性)这个属性只有在发生keypress事件时才有值,而且这个值是按下的那个键所代表字符的ASCII编码

在取得了字符编码之后,就可以使用String.fromCharCode()将其转换成实际的字符、

根据规范当用户在可编辑区域中输入字符时,就會触发事件这个事件这个用于替代keypress的textInput事件的行为稍有不同。

  • 任何可以获得焦点的元素都可以触发事件keypress事件;但只有可编辑区域才能触发倳件textInput事件
  • textInput事件只会在用户按下能够输入实际字符的键时才会被触发事件;而keypress事件则是在按下那些能够影响文本显示的键时也会触发事件(比如退格键)。

由于textInput事件主要考虑的是字符因此它的event对象中还包含了一个data属性,这个属性的值就是用户输入的字符(而非字符编码)

一个完整的drag and drop流程通常包含以下几个步骤:

  • 设置可拖拽目标:设置属性draggable=true,实现元素可拖拽
  • 监听 dragstart事件并设置拖拽数据
  • 设置允许的拖放效果如copy、link、move
  • 设置拖放目标,默认情况下浏览器阻止所有的拖放操作因此要监听dragenter或者dragover事件并取消其默认行为,使得元素可拖放
  • 监听 drop倳件,并执行相应操作

  • dragstart:拖拽开始时在被拖拽元素上触发事件此事件,监听器需要设置拖拽所需数据
    从操作系统拖拽文件到浏览器时不触发事件此事件.

  • dragenter:拖拽鼠标进入元素时在该元素上触发事件,用于给拖放元素设置视觉反馈,如高亮

  • dragover:拖拽时鼠标在目标元素上移动时觸发事件.监听器通过阻止浏览器默认行为设置元素为可拖放元素.
  • dragleave:拖拽时鼠标移出目标元素时在目标元素上触发事件.此时监听器可以取消掉前面设置的视觉效果.
  • drag:拖拽期间在被拖拽元素上连续触发事件
  • drop:鼠标在拖放目标上释放时,在拖放目标上触发事件.此时监听器需要收集数據并且执行所需操作.
    如果是从操作系统拖放文件到浏览器,需要取消浏览器默认行为.
  • dragend:鼠标在拖放目标上释放时,在拖拽元素上触发事件.将元素从浏览器拖放到操作系统时不会触发事件此事件.

拖拽事件对象为DragEvent,此接口有一个dataTransfer属性此属性值为一个对象,该对象包含了拖拽事件的状态、拖动事件的类型拖动的数据等。

  • dropEffect:拖拽交互类型可能的值:

    • copy: 复制到新的位置
  • link: 建立一个源位置到新位置的链接.
  • none: 禁止放置(禁止任何操作).
  • files:包含File对象的FileList对象,从操作系统向浏览器拖放文件时有用
}

我要回帖

更多关于 触发事件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信