如何使用Backbone处理输入文本"粘贴"事件

vit*_*tto 4 events backbone.js

我正在尝试通过Backbone用户在输入文本元素中写入或粘贴字符串来将数据发送到服务器.

在Backbone事件中,我认为这样的事情,但它不起作用:

events:{
    "click .close":"closeResults",
    "keypress input":"fetchData",
    "paste input":"fetchData"
},
fetchData:function (e) {
    var $this = this;
    window.setTimeout(function () {
        if ($.trim(e.target.value).length >= 3) {
            console.log(e.target.value);
            $this.collection.fetch({data: {limit: 10, term:$.trim(e.target.value)}});
        }
    }, 0);
}
Run Code Online (Sandbox Code Playgroud)

小智 6

如果您切换到使用keyup事件而不是keypresspaste,它将通过键盘(? + vCtrl + v)粘贴并正常键入.

如果您使用该input事件,即使您右键单击并粘贴(除了与之相同的预期行为keyup),它也会起作用.

更多信息input:https: //developer.mozilla.org/en-US/docs/Web/API/window.oninput