【问题标题】:famo.us inputsurface change/onchange eventfamo.us 输入表面更改/onchange 事件
【发布时间】:2014-09-03 06:47:16
【问题描述】:

使用最新的 Chrome 浏览器。

即使在为 inputsurface 连接 onchange 事件之后也是脏的,因为没有扩展事件来执行 inputsurface.on('change',function(){}):

MyInputSurface.prototype.deploy = 函数部署(目标){ this._superDeploy(target);

    target.onchange = function() {
        console.log('test change');
    };
    target.onclick = function() {
        console.log('test click');
    };
};

直到我在浏览器窗口中单击返回时才会触发 onchange 事件。点击事件工作得很好。有什么建议吗?

【问题讨论】:

    标签: events onchange famo.us


    【解决方案1】:

    在输入失去焦点之前,onchange 事件不会触发。这就是为什么您必须在运行回调之前再次单击浏览器窗口的原因。

    来自IE Dev Center

    提交内容时触发此事件,而不是在值更改时触发。例如,在文本框上,不会在用户键入时触发此事件,而是在用户通过离开具有焦点的文本框提交更改时触发。另外,当控件也失去焦点时,该事件会在onblur指定的代码之前执行。

    如果您想在用户键入时获得输入的值,则必须监听输入的 input 事件。

    再次来自IE Dev Center

    您可以使用 oninput 来检测 textArea、input type=text 或 input type=password 的内容何时发生变化。此事件在修改后立即发生,不像 onchange 事件在元素失去焦点时发生。

    当您的 input 回调触发时,只需像使用 change 一样获取目标值。

    【讨论】:

      猜你喜欢
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      • 1970-01-01
      • 2017-12-08
      相关资源
      最近更新 更多