用 onbeforepaste 试试你是不是想在粘贴的时候检测剪贴板的内容?

解决方案 »

  1.   

    <?xml version="1.0" encoding="gb2312" standalone="yes"?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html xmlns:v="http://www.i-love-mm.com/">
    <head>
    <title></title>
    <meta name="Generator" content="EditPlus" />
    <meta name="Author" content="eglic" />
    <link rel="stylesheet" type="text/css" href="" />
    <style type="text/css">
    v\:* {behavior:url(#default#VML);}
    </style>
    <script language="javascript" src=""></script>
    <script language="javascript">
    function t(){
    var p=clipboardData.getData('Text');
    p=p.toUpperCase();
    clipboardData.setData('Text',p);
    }
    </script>
    </head>
    <body>
    <textarea onbeforepaste="JavaScript:t();"></textarea>
    </body>
    </html>
      

  2.   

    如果你一定要用onpaste事件,用一个全局的标志变量来处理<?xml version="1.0" encoding="gb2312" standalone="yes"?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html xmlns:v="http://www.i-love-mm.com/">
    <head>
    <title></title>
    <meta name="Generator" content="EditPlus" />
    <meta name="Author" content="eglic" />
    <link rel="stylesheet" type="text/css" href="" />
    <style type="text/css">
    v\:* {behavior:url(#default#VML);}
    </style>
    <script language="javascript" src=""></script>
    <script language="javascript">
    var flag=false;
    function t1(){
    if(flag) return false;
    var p=clipboardData.getData('Text');
    p=p.toUpperCase();
    clipboardData.setData('Text',p);
    flag=true;
    document.execCommand('Paste');
    flag=false;
    }
    </script>
    </head>
    <body>
    <textarea onpaste="JavaScript:t1();" cols="30" rows="10"></textarea>
    </body>
    </html>
      

  3.   

    我在onpaste中使用了
      var oSrc = e.srcElement;
      var text = window.clipboardData.getData("text");  insertElem(oSrc, text, e.offsetX, e.offsetY);  evt.returnValue = false;因为oSrc得到的是<div>,无法得到<body>所以出错。
      

  4.   

    在onpaste或者onbeforepaste时能否有程序控制:先取消paste,然后再执行自定义paste
      

  5.   

    clipboardData.getData('Text')
    中的内容是要进行处理,但无法得到html代码,所以无法处理。