输入文本上的Jquery Mobile Paste事件

时间:2013-04-25 16:20:58

标签: jquery-mobile onpaste

我正在使用Jquery Mobile开发适用于Android和iPhone的网络应用程序。我想在用户在输入文本字段中更改其值时处理该事件。

最初,我使用.on("keyup change"),一切似乎都正常。但是,当用户在文本字段上粘贴一些文本时(通过按住并点击“粘贴”),我的事件处理程序不会被调用。

如果你知道如何解决这个问题,请帮助我。

谢谢大家。

3 个答案:

答案 0 :(得分:3)

适用于所有浏览器,但不适用于FireFox。

  

<强> Demo

$('input').on('paste', function (e) {
 if (e.originalEvent.clipboardData) {
  var text = e.originalEvent.clipboardData.getData("text/plain");
  $('p').empty();
  $('p').append(text);
 }
});
  

信用证转到:jQuery Detect Paste Event Anywhere on Page and "Redirect" it to Textarea

答案 1 :(得分:0)

  1. 对于Android,请在此示例中添加超时http://ajax911.com/numbers-numeric-field-jquery/

  2. 对于iPad添加活动&#39;更改&#39;与粘贴一起,在iphone上工作

答案 2 :(得分:0)

以下是在移动Safari和Chrome上对我有用的内容。

if (document.getElementById('search_input')) {
    document.querySelector('#search_input').addEventListener('paste', (e) => {

        let pasteData = (e.clipboardData || window.clipboardData).getData('text');
        pasteData = pasteData.replace(/[^\x20-\xFF]/gi, '');
        window.setTimeout(() => {
            //do stuff
        });
    });
}