`
boss5518831534
  • 浏览: 230449 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JQuery 对控件的事件操作

阅读更多
JQuery是非常棒的js类库,有丰富的UI库和插件,不过我钟爱他的是他的选择器,感觉其他功能有时跟后台人员距离很远,所以一般我也只使用一下他的选择器。

今天突然对他的事件产生了兴趣,先前也碰到过,也没整理,今天有空就弄一下咯。

对于控件的事件,jQuery已经提供了丰富的方法,包括绑定、一次绑定、触发等,阿拉今早看看叫一哪能用额伐,大虾路古就可以了。

jQuery的绑定事件非常方便,有bind、live、one还有它帮你把一些常用的事件给单独了出来,比如控件的onclick事件,我们绑定onclick事件的时候只需要

$("#testButton").click(function() {
    alert("I'm Test Button");
});
就这样我们在testButton这个按钮上绑定了onclick事件,执行alert语句。我们也可以使用
$("#testButton").click();
来触发这个onclick事件,一切都非常ok啦。以上有点sb了,接下来看看取消事件。jQuery有unbind的方法,专门来取消绑定的,也就是取消事件,按照上面的例子的话,应该使用:
$("#testButton").unbind("click");
恩,看上去非常好,如果你的click有2个事件的话,你还可以使用unbind("click", fnName)来删除特定函数的绑定。 为什么有这个取消特定函数的方法呢,我们来看下例子,我们会发现,javascript的事件,跟C#的事件如出一辙,事件的绑定是叠加(+=) 而不是覆盖。
    var Eat = function() {
        alert("我要吃饭");
    }

    var PayMoney = function() {
        alert("先付钱");
    }

    jQuery(document).ready(function() {
        $("#testButton").click(Eat);
        $("#testButton").bind("click", PayMoney);
    });
通过上面的例子,我们发现会先弹出:“我要吃饭”紧接着会弹出“先付钱”,说明它的绑定是通过onclick+=fn进行的。我们修改下ready的方法:
        jQuery(document).ready(function() {
            $("#testButton").click(Eat);
            $("#testButton").unbind();
            $("#testButton").bind("click", PayMoney);
        });
又SB了,呵呵,这次点击按钮的话,只会执行PayMoney,不会执行Eat,那如果把unbind()放在bind后面的话,这样这个按钮就不会起作用了。但如果我要去掉绑定的PayMoney方法呢?这时候我们应该这样写:
        jQuery(document).ready(function() {
            $("#testButton").click(Eat);
            $("#testButton").bind("click", PayMoney);
            $("#testButton").unbind("click", PayMoney);
        });
嘿嘿,跟bind其实一个样,不过接下来你将看到一个bug(我不知道算不算),让我们近距离体验一下:
<input id="testButton" type="button" value="Test Button" onclick="Eat();" />
<script type="text/javascript">
        jQuery(document).ready(function() {
            $("#testButton").unbind("click", Eat);
            $("#testButton").unbind();
            $("#testButton").bind("click", PayMoney);
        });
</script>
大家猜猜,会显示什么?吃饭?付钱?答案是Eat -> PayMoney,啊!!!我这里取消了绑定,又删除了特定的绑定,为什么还会执行Eat呢? 其中的原由要看jQuery的类库了,我估计它只删除了通过JQuery绑定的那些事件了,呵呵。 那这时候我们该如何呢?好在jQuery有很多方法,其中一个就是attr,他是对Dom元素的属性进行操作,我们利用attr来消除input上的click事件。
    $("#testButton").attr("onclick", "");
这样就可以把onclick事件清除了,记住,attr上因为是元素的属性,所以这里要写 “onclick” 而不是click,因为click是jQuery封装好的简写方式。 好了,绑定就到这里了,弄个场景,大家也好记得住点: 一日,老应、老赵、老陈出去吃饭,吃饱了,喝足了,准备付钱了,这时候:
<head>

    <script type="text/javascript" src="jquery-1.2.6.min.js"></script>

    <script type="text/javascript">

        var PayMoney = function(name) {
            alert(name + ":今天我请客,我来付钱");
        }

        jQuery(document).ready(function() {
            $("#JeffreyPay").attr("onclick", "");
            $("#JamesPay").attr("onclick", "");

            $("#JeffreyPay").click(function() {
                alert("。。。。这里不能刷卡");
            });

            $("#JeffreyPay").click(function() {
                PayMoney("陈大");
            });
            $("#JamesPay").bind("click", function() {
                alert("。。。。忘记带钱包了");
            });
            $("#JamesPay").bind("click", $("#DlyingPay").attr("onclick"));
        });
    </script>

</head>
<body>
    <input id="JeffreyPay" onclick="PayMoney('赵帅');" type="button" value="老赵付钱" />
    <input id="JamesPay" type="button" onclick="PayMoney('老应');" value="老应付钱" />
    <input id="DlyingPay" type="button" onclick="PayMoney('陈大');" value="老陈付钱" />
</body>

著:该文章是copy原创的 (原创连接:http://www.cnblogs.com/inday/archive/2009/07/17/JQuery-Bind-Event.html)
分享到:
评论

相关推荐

    jquery jquery控件 时间控件 时分秒控件

    标题中提到的"jquery jquery控件 时间控件 时分秒控件",主要指的是那些允许用户以"2012-5-12 17:52:52"这种格式选择具体时间的插件。这种格式遵循ISO 8601标准,包含年、月、日、小时、分钟和秒。与"2012-5-22 00:...

    jquery时间控件时分秒

    在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和动画效果。而"jquery时间控件时分秒"是jQuery的一个扩展插件,用于创建用户友好的时间选择器,帮助用户方便地输入或选择时间...

    jQuery 获得控件的坐标位置

    ### jQuery 获取控件的坐标位置 #### 知识点概览 在网页开发过程中,经常需要获取页面元素的坐标位置,以便实现特定的功能,如弹窗定位、元素拖拽等。jQuery 提供了一系列方法来方便地获取这些坐标值。本文将详细...

    jquery时间控件(含小时分钟)

    本主题聚焦于“jQuery时间控件(含小时分钟)”,这是一个用于网页应用中的时间选择功能,它允许用户方便地选取小时和分钟。这种控件在日程安排、预订系统或任何需要精确时间输入的场景中都非常实用。 jQuery时间...

    jQuery时间控件

    jQuery时间控件是一种流行的前端解决方案,它可以帮助开发者快速集成时间选择功能,使得用户界面更加友好。这篇文章将详细介绍jQuery时间控件的使用方法、优势以及相关知识点。 一、jQuery时间控件简介 jQuery时间...

    JQuery 时间控件、日期控件

    在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和动画效果。本主题将深入探讨jQuery中的时间控件和日期控件,这些组件在创建交互式用户界面时非常有用,特别是在处理表单输入...

    jquery控件的下载

    本篇文章将深入探讨jQuery控件及其在实际项目中的应用。 jQuery控件是基于jQuery库的扩展,提供了一系列预先封装好的UI组件,如日期选择器、滑块、下拉菜单等,这些控件通常用于构建交互性强、用户体验良好的Web...

    携程网 时间控件 jquery控件 时间控件 php

    4. **JavaScript交互**:jQuery库提供了一系列DOM操作、事件处理和动画效果的方法,使得时间控件可以响应用户的鼠标点击、触摸滑动等操作,动态更新界面并可能与后端进行数据交互。 5. **时间格式化**:在PHP环境中...

    jquery 日期时间控件

    在网页开发中,jQuery是一个非常流行的JavaScript库,它简化了DOM操作、事件处理以及Ajax交互。而"jQuery 日期时间控件"则是基于jQuery构建的,用于帮助开发者在网页上添加用户友好的日期和时间选择功能。这类控件...

    jquery 时间控件实例

    在网页开发中,jQuery 是一个广泛使用的 JavaScript 库,它极大地简化了 JavaScript 的操作,包括DOM操作、事件处理、动画效果以及Ajax交互等。而时间控件是网页中常见的一种交互元素,它允许用户方便地选择或输入...

    jQuery树控件的拖动修改各种特效

    在网页开发中,jQuery Treeview 是一款非常流行的用于构建可交互树形结构的插件,它为用户提供了优雅的方式来展示和操作数据。本教程将详细探讨如何实现jQuery Treeview的拖动修改各种特效,帮助开发者提升用户体验...

    带时间的jQuery日期控件代码.zip

    开发人员需要熟悉jQuery API,了解如何绑定事件、操作DOM(文档对象模型)以及处理时间选择的用户交互。此外,为了适应不同的项目需求,可能还需要对代码进行适当的修改或扩展,例如调整日期格式、设置默认值或添加...

    jquery 日期控件 datepicker

    `Datepicker` 提供了一些事件,可以监听用户的操作。例如,`onSelect` 事件会在用户选择日期时触发,你可以在此回调函数中处理选定的日期: ```javascript $("#datePicker").datepicker({ onSelect: function(date...

    jquery下拉控件

    《jQuery下拉控件:打造高效交互体验》 在网页设计和开发中,下拉控件(Dropdown)是常见的交互元素之一,它通常用于提供多个选项供用户选择。原生的HTML `&lt;select&gt;` 标签虽然能实现基本功能,但在样式定制、交互...

    jquery表格控件

    首先,jQuery表格控件的一个显著特点是它对多种格式的支持。它允许用户将表格数据导出为Word、Excel和PDF等常见文档格式,这极大地扩展了数据的使用场景。例如,用户可以轻松地将表格数据导出为Excel文件进行进一步...

    JQuery日历控件 .

    虽然JQuery日历控件具有良好的浏览器兼容性,但在移动设备或现代浏览器上可能需要进行一些优化,比如使用`touchstart`事件替代`click`事件,以确保在触摸设备上的良好交互体验。 7. **总结** JQuery日历控件是...

    jquery时间控件

    在Web开发领域,jQuery是一个非常流行的JavaScript库,它极大地简化了JavaScript代码的编写,使得DOM操作、事件处理、动画效果以及Ajax交互变得更加便捷。而"jQuery时间控件"则是利用jQuery构建的一种用户界面组件,...

    jquery 时间控件 触屏滑动

    开发者可以通过查看源代码学习如何将触屏滑动事件绑定到时间控件,并实现相应的滑动操作。 在JavaScript中,我们可以使用`addEventListener`方法添加事件监听器,例如: ```javascript document.getElementById('...

    jquery日期控件(有下拉菜单选择年份)

    描述中提到,“这是我修改过的jquery的date_input日期选择控件”,这意味着开发者对原始的jQuery date_input插件进行了二次开发,优化了年份选择的交互方式。去除了原本的点击选择年份模式,转而采用下拉菜单,解决...

    JQuery周历控件

    它是实现周历控件的基础,通过JQuery的API,可以高效地操作DOM元素,实现动态效果和用户交互。 2. **DOM操作**:在创建周历控件时,需要动态生成HTML结构,展示日期和星期。这涉及到了DOM(Document Object Model)...

Global site tag (gtag.js) - Google Analytics