jQuery中使用焦点事件应用详解

       用户每次访问一个网站,都是浏览器在和当前渲染过的网页的DOM进行交互。即使用户并没有点击网页上的任何元素,也没有填写任何表单,浏览器也可能捕获到一些对攻击者有价值的信息。例如,即使用户在网页中点击了几次后又来点击其他地方,那么浏览器还是已经触发了两个不同的事件:focus和blur。

       继续之前的例子,执行下面的JavaScript代码,就能够监听focus事件:

       window.addEventListener("focus", function(event) {

       alert("The window has been focused");

       });

       有一点江西网络公司小编想说的是:IE6 到IE8 并不支持addEventListener() 方法, 不过它们可以使用功能类似的addachEvent()函数代替。jQuery提供了更加友好的on()函数,可以简化事件监听的操作。使用BeEF提供的jQuery后,上面的代码会变成:

       $j(window).on("focus", function(event) {

       alert("The window has been focused");

       });

       不仅如此,jQuery还提供了focus()方法,可以进一步简化代码:

       $j(window).focus(function(event) {

       alert("The window has been focused");

       });

       再增加一些代码,则我们同时可以在用户将焦点从窗口中移除时捕获事件:

       $j(window).focus(function(event) {

       alert("The window has been focused");

       }).blur(function(event) {

       alert("The window has lost focus");

       });

       此外,由于调用jQuery的方法时,通常返回自身的实例,所以当我们在调用多个方法时可以使用链式调用,就像之前那段代码所示。这段代码监听了window对象上的focus和blur事件,这和BeEF初始化日志方法的代码非常类似,不同之处在于BeEF不是调用alert()函数,而是使用之前讲过的beef.net.send()函数,把事件日志传回BeEF的服务器。

       在W3C的DOM 3级事件模型草案5的文档中,焦点事件类型并不局限于blur和focus。除了document元素自身外,DOM中的任一元素都可以响应全部的焦点事件。除blur和focus外,W3C还定义了如下一些与焦点相关的事件,按它们触发的次序排列如下:

       focusin:在目标元素真正获得焦点之前触发。

       focus:在目标元素真正获得焦点时触发。

       DOMFocusIn:弃用的DOM事件,推荐使用focus和focusin替代。

       Focusout:在目标元素改变焦点之后触发。

       blur:在目标元素失去焦点时触发。

       DOMFocusOut:弃用的DOM事件,推荐使用blur和focusout替代。

       通常来讲,相比元素失去焦点时,浏览器会在元素获得焦点时触发更多事件。其中多数事件都会在响应时传入event对象,其中包含了获得焦点的元素的信息,以及元素在事件流中的位置等。

       对攻击者而言,理解和捕获焦点事件是非常有用的,因为通过它们,我们可以洞察到目标用户是否正在浏览特定的窗口,是否已经切换到不同的标签页,或者是否已经将浏览器最小化,这些数据都可能在一个大型攻击策略中发挥重要作用。

       以上所述就是关于jQuery 事件中focus() 的用法,如果还有哪些不明白的地方,可随时来电和我们联系。易速网络作为一家专业从事网站建设、微信开发、APP开发等服务的优秀江西网络公司,自然精通各种网络技术以及建站技术,也只有这样才能为更多有需要的朋友服务,帮助他们解决难题。因此,只要您有需要,我们将随时为您排忧解难!

提供全面的搜索引擎优化学习交流,专注网站优化和搜索引擎营销推广服务。用专业的SEO技术为企业网站提升关键词排名,让你的网站不仅满足用户体验还要适合搜索引擎优化规则。
易速网站优化公司 » jQuery中使用焦点事件应用详解
享更多特权,立即登录下载海量资源
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡