点击事件没有使用Backbone& jQuery的

时间:2014-01-21 16:02:05

标签: backbone.js backbone-events

我在应用程序&中使用Backbone遇到事件没有发生的情况。

我的视图,映射到包含多个控件(文本区域,几个单选按钮等)和保存按钮的对话框界面。我定义了以下事件:

events: {
        'input': 'onchange',
        'change': 'onchange',
        'click .save': 'save',
        'click .cancel': 'cancel',
    },
  1. 每当对话框中的任何表单元素发生更改时,我都会触发onchange,执行一些验证并启用或禁用保存按钮。

  2. 在' normal'流程,一切正常。我填写textarea,单击单选按钮上的选项,然后单击保存。我的工作得到妥善保存。

  3. 在另一个流程中,我尝试在光标仍在文本区域时单击“保存”,但没有任何反应。然后,如果我再次单击“保存”按钮,表单将正确保存。我已尝试在save方法的最开始设置断点,并确认在第一次按键单击期间未调用断点,然后在第二次按钮单击时正确调用。

  4. 我试图用一个简单的例子作为jsFiddle来证明这个问题,但是我无法隔离这个错误的行为。

  5. 我第一次点击按钮时可能阻止点击事件和save功能?您是否有任何有关帮助调试此类问题的提示或建议?

    更新:使用Javascript Profiler

    我回去使用了一个分析器来深入了解发生了什么。这是我的过程:

    1. 设置测试页面,除了主要textarea
    2. 外,其他所有内容都已填写
    3. 启动探查器
    4. 在textarea中键入一个字母并等待onchange处理程序触发,这可以通过“保存”按钮启用来证明
    5. 等几秒钟
    6. 点击保存 - 没有任何反应
    7. 停止分析器
    8. 这是我的个人资料: enter image description here

      有趣的是,当onchange处理程序触发时,有一个清晰的活动,被视为火焰图中的可见峰值。但是,当我第一次点击保存时,根本没有捕获到javascript执行!非常好奇...

0 个答案:

没有答案