菜单粘贴会触发哪个事件?

时间:2015-01-06 17:20:23

标签: javascript jquery

我有一个用户可以输入的搜索框。当用户按键时,将执行搜索。有检查可以在搜索框中查看文本的长度。

    // THE SEARCH STRING IS BEING POPULATED
    $SEARCH.SearchString.keyup($SEARCH.utilities.doSearch);

当有人使用ctrl + v粘贴文本时,这非常有效。当有人使用菜单进行粘贴时,如下图所示,不会执行搜索。

我不确定该菜单的名称,因此很难找到答案。当此菜单存在且用户选择“粘贴”时,我应该使用JavaScript监听什么事件?

enter image description here

2 个答案:

答案 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);   
});

参考: MDN input event docs

DEMO