如果用户在输入文本元素中写入或粘贴字符串,我试图通过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);
}
'input'位于'$ el'里面吗?因为这是工作示例 – 2013-05-12 20:27:36
btw'$ this'不是一个合适的变量名,因为它暗示它是一个jQuery对象。 'self'是一个更好的选择。无论如何,你的代码应该工作我不能看到没有什么不对 – 2013-05-12 22:10:43
与此代码'按键'事件的作品,但'粘贴'没有,我也尝试了不同的'$ this'这个名字,这是一个局部变量,这应该这个地方不会造成问题。 – vitto 2013-05-12 22:45:05