`

jQuery事件对象可以在扩浏览器支持的属性

阅读更多

下面是jQuery事件对象可以在扩浏览器支持的属性:

属性名称 描述 举例

type

事件类型.如果使用一个事件处理函数来处理多个事件, 可以使用此属性获得事件类型,比如click.

$("a").click(function(event) {
            alert(event.type);
            });
target

获取事件触发者DOM对象

$("a[href=http://google.com]").click(function(event) {
            alert(event.target.href);
            });
data

事件调用时传入额外参数.

$("a").each(function(i) {
            $(this).bind('click', {index:i}, function(e){
            alert('my index is ' + e.data.index);
            });
            });
relatedTarget

对于鼠标事件, 标示触发事件时离开或者进入的DOM元素

$("a").mouseout(function(event) {
            alert(event.relatedTarget);
            });
currentTarget

冒泡前的当前触发事件的DOM对象, 等同于this.

$("p").click(function(event) {
            alert( event.currentTarget.nodeName );
            });

结果:P

pageX/Y

鼠标事件中, 事件相对于页面原点的水平/垂直坐标.

$("a").click(function(event) {
            alert("Current mouse position: " + event.pageX + ", " + event.pageY );
            });
result

上一个事件处理函数返回的值

$("p").click(function(event) {
            return "hey"
            });
            $("p").click(function(event) {
            alert( event.result );
            });

结果:”hey”

timeStamp

事件发生时的时间戳.

var last;
            $("p").click(function(event) {
            if( last )
            alert( "time since last event " + event.timeStamp - last );
            last = event.timeStamp;
            });

上面是jQuery官方文档中提供的event对象的属性. 在”jQuery实战”一书中还提供了下面的多浏览器支持的属性, 时间关系我没有尝试每一个属性, 大家可以帮忙验证是否在所有浏览器下可用:

属性名称 描述 举例 altKey Alt键是否被按下. 按下返回true   ctrlKey ctrl键是否被按下, 按下返回true   metaKey Meta键是否被按下, 按下返回true.
meta键就是PC机器的Ctrl键,或者Mac机器上面的Command键   shiftKey Shift键是否被按下, 按下返回true   keyCode 对于keyup和keydown事件返回被按下的键. 不区分大小写, a和A都返回65.对于keypress事件请使用which属性, 因为which属性跨浏览时依然可靠.   which 对于键盘事件, 返回触发事件的键的数字编码. 对于鼠标事件, 返回鼠标按键号(1左,2中,3右).   screenX/Y 对于鼠标事件, 获取事件相对于屏幕原点的水平/垂直坐标  

 

事件对象除了拥有属性, 还拥有事件. 有一些是一定会用到的事件比如取消冒泡 stopPropagation() 等.下面是jQuery事件对象的函数列表:

名称 说明 举例

preventDefault()

取消可能引起任何语意操作的事件. 比如<a>元素的href链接加载, 表单提交以及click引起复选框的状态切换.

$("a").click(function(event){
            event.preventDefault();
            // do something
            });
isDefaultPrevented()

是否调用过

 

preventDefault()

方法

$("a").click(function(event){
            alert( event.isDefaultPrevented() );
            event.preventDefault();
            alert( event.isDefaultPrevented() );
            });
stopPropagation()

取消事件冒泡

$("p").click(function(event){
            event.stopPropagation();
            // do something
            });
isPropagationStopped()

是否调用过

 

stopPropagation()

方法

$("p").click(function(event){
            alert( event.isPropagationStopped() );
            event.stopPropagation();
            alert( event.isPropagationStopped() );
            });
stopImmediatePropagation()

取消执行其他的事件处理函数并取消事件冒泡.如果同一个事件绑定了多个事件处理函数, 在其中一个事件处理函数中调用此方法后将不会继续调用其他的事件处理函数.

$("p").click(function(event){
            event.stopImmediatePropagation();
            });
            $("p").click(function(event){
            // This function won't be executed
            });
isImmediatePropagationStopped()

是否调用过

 

stopImmediatePropagation()

方法

$("p").click(function(event){
            alert( event.isImmediatePropagationStopped() );
            event.stopImmediatePropagation();
            alert( event.isImmediatePropagationStopped() );
            });

这些函数中  stopPropagation()  是我们最长用的也是一定会用到的函数. 相当于操作原始event对象的event.cancelBubble=true来取消冒泡.

分享到:
评论

相关推荐

    JQuery鉴别各种浏览器以及版本

    在早期版本的jQuery(1.3.x及更早版本)中,有一个`jQuery.browser`对象,它包含了浏览器类型和版本信息。例如: ```javascript if (jQuery.browser.mozilla) { // 当前浏览器是Firefox } if (jQuery.browser....

    jquery判断360浏览器

    // 扩展jQuery对象 $.extend({ is360Browser: function() { var userAgent = navigator.userAgent; // 360浏览器的User Agent通常会包含"QIHU"或者"360SE"、"360EE"等关键词 return /QIHU|360SE|360EE/i.test...

    jquery 事件对象属性小结

    使用事件自然少不了事件对象. 因为不同浏览器之间事件对象的获取, 以及事件对象的属性都有差异, 导致我们很难跨浏览器使用...jQuery事件对象将不同浏览器的差异进行了合并, 比如可以在所有浏览器中通过 event.target

    Jquery实现浏览器嗅探器特效

    通过访问`navigator.userAgent`属性,我们可以获取到浏览器发送给服务器的User-Agent字符串,这个字符串包含了浏览器的名称、版本号和操作系统等信息。 接着,我们需要解析User-Agent字符串以确定浏览器类型。例如...

    jQuery图片浏览器源码

    5. 数据存储:可能需要使用`data-*`属性或JavaScript对象来存储图片信息,如URL、标题等。 四、源码分析与学习 理解jQuery图片浏览器源码有助于开发者定制自己的图片查看器,包括: 1. 了解文件结构:源码可能包含...

    jquery1.9判断浏览器类型和版本

    同时,对于兼容性问题,可以参考Can I Use网站,它提供了详细的浏览器支持信息,帮助开发者了解哪些特性在哪些浏览器中可用。 总之,虽然jQuery 1.9不再提供$.browser,但开发者可以通过编写插件或者利用其他库来...

    JQuery图片拖动排序兼容各种浏览器

    在`dragstart`事件处理函数中,存储当前元素的原始位置信息,并设置元素的`dataTransfer`对象,用于在拖动过程中传递数据。 3. **拖动过程**:在`drag`事件中,更新元素的位置,提供视觉反馈,如设置透明度或缩放,...

    jquery对象和dom对象

    **jQuery对象和DOM对象** 在JavaScript中,DOM(Document Object Model)对象是浏览器解析HTML或XML文档后生成的...在实际项目中,灵活运用DOM对象和jQuery对象,可以实现高效且易于维护的网页动态效果和用户交互。

    jQuery判断浏览器版本及鉴别浏览器类型代码.rar

    一旦获取到浏览器类型和版本,开发者可以在页面上动态插入相应的图标和文本,以提示用户他们正在使用的浏览器。这可以通过jQuery选择器和DOM操作来实现,例如创建新的HTML元素,设置其class属性以显示特定的图标,...

    javascript经典特效---jQuery仿新浪新闻图片浏览器(支持鼠标左右滚动控制图片切换).rar

    【jQuery仿新浪新闻图片浏览器】是一种使用JavaScript库jQuery实现的图片浏览效果,它模拟了新浪新闻网站中的图片浏览功能,并且特别支持通过鼠标左右滚动来控制图片的切换,提供了用户友好的交互体验。这个功能在...

    option属性的js事件浏览器差异

    `option`属性和与之相关的JS事件在不同浏览器之间可能存在差异,这些差异主要体现在事件处理、行为表现和兼容性上。了解并处理这些差异对于确保网页在各种浏览器上的正常运行至关重要。 1. **事件绑定差异** 在...

    事件模型在各浏览器中存在差异

    例如,`event.preventDefault()`在某些早期浏览器中可能不完全符合标准,或者某些自定义事件的属性和方法可能只有部分浏览器支持。 因此,了解和掌握不同浏览器对事件模型的实现,以及如何适配这些差异,对于编写...

    jQuery一步一步实现跨浏览器的可编辑表格,支持IEFi

    在IT行业中,jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作、事件处理、动画制作以及Ajax交互。本文将深入探讨如何使用jQuery实现一个跨浏览器的可编辑表格,特别是兼容IE(Internet Explorer)、Fire...

    jquery鼠标滚轮事件

    在JavaScript的世界里,jQuery库为开发者提供了极大的便利,特别是在处理DOM操作和事件处理上。"jQuery鼠标滚轮事件"是一个非常实用的功能,它...通过熟练掌握和应用这些知识点,你可以在项目中创造出更佳的用户体验。

    Jquery 图片浏览器

    总的来说,jQuery 图片浏览器是一个实用的工具,尤其适合那些希望在不增加太多复杂性的情况下增强网站图片展示功能的开发者。它的源代码可供下载,对于学习jQuery插件开发或自定义图片浏览功能的开发者来说,是个...

    jQuery事件对象的属性和方法详解

    需要注意的是,当使用jQuery的方法时,我们可以通过$(this)和$(event.target)将DOM元素转换为jQuery对象,从而利用jQuery提供的丰富方法和函数。 此外,在上述内容中,提供了一个简单的HTML页面示例,通过使用...

    jQuery实现的一个自定义Placeholder属性插件

    jQuery插件是基于jQuery库开发的一段封装好的代码,可以在jQuery的基础上提供额外的功能。 #### 4. 工具方法的使用 在实现自定义Placeholder属性插件的过程中,提到了几个工具方法: - `supportProperty(nodeType,...

Global site tag (gtag.js) - Google Analytics