JQuery on Change 事件处理程序在 CoffeeScript 中不起作用

标签 jquery coffeescript

我正在尝试激活函数调用并传递文件选择事件。以下非 JQuery 工作正常:

class AddBTS
  constructor: () ->

    document.getElementById('upload_JSON').addEventListener('change', @select_json_changehandler, false)


  select_json_changehandler: (evt) =>
    console.log 'evt = ', evt

我尝试了以下方法,它执行函数调用,但 evt 未定义:

class AddBTS
  constructor: () ->

    $('body').find('#upload_JSON').on 'change', => @select_json_changehandler()

  select_json_changehandler: (evt) =>
    console.log 'evt = ', evt

如何使用 JQuery 正确执行第一个代码示例 - 非常感谢任何帮助:)

最佳答案

在第二个示例中,您正在为更改事件连接不同的事件处理程序,并让该事件处理程序调用 select_json_changehandler。您需要有一个参数化函数作为事件处理程序,该函数将事件作为参数,然后将该事件作为参数传递给 select_json_changehandler。

class AddBTS
    constructor: () ->
        $('body').find('#upload_JSON').on 'change', (evt) => @select_json_changehandler evt

    select_json_changehandler: (evt) =>
        console.log 'evt = ', evt

关于JQuery on Change 事件处理程序在 CoffeeScript 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15113509/

相关文章:

javascript - 使用 Node.js + CoffeeScript + MySQL 制作几个相关的插入

coffeescript - 将 CoffeeScript 转换为 TypeScript

ruby-on-rails-3.1 - Rails 3.1 没有检测到 Coffeescript 和 Javascript 的变化?

javascript - 如何初始化多个路由器?

javascript - php/jQuery 获取所选值的主键

使用 PHP/MySQL 值的 jQuery 数学

jquery - 带滚动条的 Kendo UI 网格的延迟加载

node.js - Mongodb/Mongoose 查询

javascript - 如何使用 JQuery 隐藏没有可见行的表?

javascript - 如何禁用鼠标滚轮单击按钮?