clipboard数据通过clipboardData对象访问,它有getData(),setData(),clearData()三个方法。
window.clipboardData.getData(type):获取数据;window.clipboardData.setData(type, value):设置数据为value;window.clipboardData.clearData():清除数据;type通常取值为 'Text',表示文本格式。另一个取值是'URL',表示URL格式。
相关的事件:
beforecopy,copy,beforecut,cut,beforepaste,paste
我们可以在beforecopy,beforecut,beforepaste处理函数中改变clipboard的内容,但要取消事件,则必须在copy,cut,paste事件函数中进行.
例子:
document.forms[0].elements['area1'].attachEvent('onpaste',function(){ var data = window.clipboardData.getData('Text'); if(!/^\d*$/.test(data)){ window.event.returnValue = false; }});document.body.attachEvent('oncopy',function(){ window.event.returnValue = false; window.clipboardData.setData('Text','复制无效'); });
以上所见只在IE有效,其它浏览器鉴于安全问题,不允许访问clipboard或设置了相关的限制。想要复制内容到clipboard中,一个实现方法是使用flash,就向javaeye实现的代码复制。以后再学习。