【问题标题】:Why can't I add a namespaced event handler after removing one?为什么我不能在删除一个命名空间事件处理程序后添加一个?
【发布时间】:2016-02-02 21:28:00
【问题描述】:

在一个文件(我无法编辑)中,添加了一个带有命名空间的事件:

$('p').on('ns.click',function(){
   // do stuff
});

我想删除那个处理程序并在同一个命名空间中添加一个不同的处理程序。这是我所做的:

$('p').off('ns.click')
      .on('ns.click',function(){
            // do different stuff
      });

工作。

如果没有命名空间,这将按预期工作(只需对 onoff 使用“点击”):

$('p').off('click')
      .on('click',function(){
            // do different stuff
      });

另外,如果我添加一个具有 不同 命名空间的新处理程序,它会按预期工作:

$('p').off('ns.click')
      .on('xyz.click',function(){
            // do different stuff
      });

为什么我不能删除命名空间处理程序然后重新添加一个新的?

【问题讨论】:

  • 命名空间应该在事件名称之后 (cilck.ns)

标签: javascript jquery javascript-namespaces


【解决方案1】:

http://api.jquery.com/on/命名空间设置在事件名称之后,而不是之前,所以应该是click.ns

【讨论】:

    猜你喜欢
    • 2021-05-16
    • 2022-01-06
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多