javascript - jQuery : Passing a method directly to the on event handler isn't working

标签 javascript jquery event-handling

我正在制作一个带有关闭按钮的简单通知,该按钮应使其淡出:

  this.close.on("click",this.clear);

  }

  Notification.prototype.clear = function(){
    this.node.fadeOut();

  };

但是,当我单击它时,它会抛出此异常“Uncaught TypeError:无法调用未定义的方法'fadeOut'”

我尝试传递一个调用clear方法的函数表达式,它起作用了。

所以我的问题是为什么第一次不起作用但第二次却起作用了。

最佳答案

您需要按如下方式使用 jquery 对象:

$(this.node).fadeOut();

提供的节点代表一个 DOM 对象,这将使用 jquery 淡出该对象。

关于javascript - jQuery : Passing a method directly to the on event handler isn't working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20750026/

相关文章:

javascript - jQuery UI 小部件没有方法 'uniqueId'

javascript - D3 单击事件处理程序

java - 重构代码以删除 uuid

javascript - 如何在 Table 内的按钮元素上定义新的 ajax 函数

javascript - 带有预先存在的 HTML 的 Marionette ItemView。如果我显式定义 jQuery 选择器,事件会起作用,但如果我通过 ui 则事件不会起作用

javascript - 如何使用下面的 JQuery 代码显示元素?

jquery - 使用 jquery 从 radio 组获取值

java - Java 中是否可以有无限数量的类型参数?

c# - 对不同的 Windows 窗体控件使用相同的事件处理程序是否安全?

javascript - html5 listener loadeddata 不工作某些