我有一个用户可以输入的搜索框。当用户按键时,将执行搜索。有检查可以在搜索框中查看文本的长度。
// THE SEARCH STRING IS BEING POPULATED
$SEARCH.SearchString.keyup($SEARCH.utilities.doSearch);
当有人使用ctrl + v粘贴文本时,这非常有效。当有人使用菜单进行粘贴时,如下图所示,不会执行搜索。
我不确定该菜单的名称,因此很难找到答案。当此菜单存在且用户选择“粘贴”时,我应该使用JavaScript监听什么事件?
答案 0 :(得分:1)
有onpaste
但它似乎不是任何标准的一部分,所以你的milage可能会有所不同
$(selector).on('paste', function() {
doSomething();
});
答案 1 :(得分:1)
input
事件会触发粘贴和键入,因此可以用来代替keyup或keydown,并涵盖现代浏览器中用户输入的两种情况。
需要注意的是,IE在IE9中显示支持,IE9也存在一些不同的行为问题。
当用户删除字符时,IE 9不会触发输入事件 通过键盘,剪切或拖动操作填充输入。
$('input').on('input', function(e){
$('body').append('<br>Input event triggered, value = ' + this.value);
});
的 DEMO 强>