如何使用 JS 检测 iPhone 上的粘贴文本?

How can I detect pasted text on iPhone with JS?

我正在开发一个跨平台网站,其中 UI 会根据用户输入进行更改。一个这样的变化是,每次通过键入或复制粘贴填充某个输入时,它都会显示一个隐藏的输入。问题?让它在 iPhone.

上运行

目前我 成功检测到桌面上的复制粘贴(主要使用 onKeyUp)。令我沮丧的是,我发现 onPaste 无法完成工作。所以这就是我来这里的原因。有什么jQuery魔法可以拯救这个吗?

干起来了。

function noCTRL(e)
{
  var code = (document.all) ? event.keyCode:e.which;
  var ctrl = (document.all) ? event.ctrlKey:e.modifiers & Event.CONTROL_MASK;
  var msg = "Sorry, this functionality is disabled.";
  if (document.all)
  {
    if (ctrl && code==86) //CTRL+V
    {
      alert(msg);
      window.event.returnValue = false;
    }
    else if (ctrl && code==67) //CTRL+C (Copy)
    {
      alert(msg);
      window.event.returnValue = false;
    }
  }
  else {
    if (ctrl==2) //CTRL key
    {
      alert(msg);
      return false;
    }
  }
}
Email :<input name="email" type="text" value=""/><br/>
Password :<input name="password" type="password" value=""/><br/>
Confirm Email :<input name="email" type="text" value="" onkeydown="return noCTRL(event)"/>    
Confirm Password :<input name="password" type="password" value="" onkeydown="return noCTRL(event)"/>

你可以检测粘贴。它也适用于手机

$('input').on('paste', function(){
// do something
});