事件命名空间及自定义事件(转)

jQuery事件命名空间

jQuery支持事件命名空间,以方便事件管理。例如,在下面的示例中,为div元素绑定多个事件类型,然后使用命名空间进行规范,从而方便管理。所谓事件命名空间,就晨事件类型后面以点语法附加一个别名,以便引用事件,如”click.a”,其中”a”就是click当前事件类型的别名,即事件命名空间

如:

$("div").bind("click.a", function() {
alert("click");
});
$("div").bind("dbclick.a", function() {
alert("dbclick");
});
$("div").bind("mouseover.a", function() {
alert("mouseover");
});
$("div").bind("mouseout.a", function() {
alert("mouseout");
});

若在所有绑定的事件类型后面附加命名空间,这样在删除事件时,就可以直接指定命名空间。如$("div").unbind(".a");

同样,如果相同的事件类型设置不同的命名空间,如果仅删除某一个事件处理程序,则只需要指定命名空间即可。

另外,在trigger()方法中,如果事件类型后面附加感叹号,则表示触发不包含命名空间的特定事件类型。

$(“div”).bind(“click”,function(){});

$(“div”).bind(“click.a”,function(){});

$(“div”).trigger(“click!”)//注意click类型后面的感叹号,它将触发第一个注册

多事件绑定

对于同一个对象的多个事件,可以连写的形式串在一起。

$(“div”).bind().bind()…

 

自定义事件

jQuery支持自定义事件,所有自定义事件都可以通过jQuery方法触发,例如下面的示例自定一个Delay事件类型,并把它绑定到input元素对象上,然后在按钮单击事件中触发自定义事件

$(“input”).bind(“delay”,function(event){

    setTimeout(function(){

          alert(event.type);

    },1000);

});

$(“input”).click(function(){

      $(“input”).trigger(“delay”); //触发自定义事件

});

自定义事件不是真正意义上的事件,可以把它理解为自定义函数,触发自定义事件就相当于调用自定义函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++中自定义命名空间(namespace)的作用是为了避免命名冲突,类似于文件夹的概念,可以将相似的变量、函数、类等放在一个命名空间中进行管理。在一个命名空间定义的名称只在该命名空间中有效,不会与其他命名空间定义的名称发生冲突。 C++中自定义命名空间的使用方法有三种,分别是: 1.使用命名空间前缀,即在变量、函数、类等前加上命名空间的名称和作用域解析符(::),例如:`spaceA::aaa`。 2.使用using声明,即使用`using namespace 命名空间名`声明使用命名空间,例如:`using namespace spaceA`。 3.使用using编译指令,即在代码中使用`using 命名空间名::名称`的方式声明使用命名空间,例如:`using spaceA::aaa`。 下面是一个使用using声明的例子:[^1] ```c++ #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; namespace spaceA { // 自定义命名空间spaceA int aaa = 10; } using spaceA::aaa; // 声明命名空间spaceA中的变量aaa int main() { // 使用using声明的方式访问命名空间定义的变量 cout << aaa << endl; // 输出:10 return 0; } ``` 下面是一个使用命名空间前缀的例子: ```c++ #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; namespace spaceA { // 自定义命名空间spaceA int aaa = 10; } int main() { // 使用命名空间前缀的方式访问命名空间定义的变量 cout << spaceA::aaa << endl; // 输出:10 return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值