javascript - 如何访问事件绑定(bind)中的对象方法

标签 javascript

(function() {
  let create = {

    init() {
      this.cacheDom();
      this.bindEvent();
    },

    bindEvent() {
      $(this.$content_buttons).click(function() {
        create.preformAction(this);
      });
    },

    cacheDom() {
      this.$content_buttons = $('.content_button');
    },

    preformAction(el) {
      alert('its class is ' + $(el).attr('class'));
    }
  };
  create.init();
}());

考虑上面的代码,我可以通过执行此 create.performAction 访问 create 对象的 performAction 方法。还有其他办法吗?提前致谢。

最佳答案

尝试一下:

(function() {
 let create = {

init() {
  this.cacheDom();
  this.bindEvent();
},

bindEvent() {

  $(this.$content_buttons).click(function() {
    create.preformAction(this);
  });
},

cacheDom() {
  this.$content_buttons = $('.content_button');
},

preformAction(el) {
  alert('its class is ' + $(el).attr('class'));
}
 };
  create.init();
}());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="content_button class1">click1</button>
<button class="content_button class2">click2</button>

关于javascript - 如何访问事件绑定(bind)中的对象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52639469/

相关文章:

javascript - 显示 JSON 请求

javascript - 使用 javascript 预取网页有什么缺点吗?

javascript - 如何检测点击了哪一行 [ tr ]?

javascript - 从动态创建的 ObjectArray 中删除一个对象

javascript - 如何正确删除 Node js eventemitter 中的事件监听器

javascript 数组通过键删除

javascript - 将点击事件分配给导航栏上的插件图标

javascript - JS 中的原型(prototype)问题

javascript - 如何在需要设置 localStorage 的页面中使用 Jasmine?

javascript - 传递字符串成为对象