日期:2014-05-16  浏览次数:20309 次

js监听鼠标右键粘贴事件
<input type="text" name="applyUser" id="applyUser" class="input" 
  onkeyup="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')"
  onafterpaste="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')" 
  >
实现文本框特殊字符过滤,使用了正则表达式,其中onkeyup监听用户输入事件过滤特殊字符,
onafterpaste监听用户CTRL+V粘贴事件过滤字符,但是无法实现用户用鼠标右键粘贴的字符过滤。
考虑onpropertychange事件,使用onpropertychange="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')" 时,在IE下会提示stack overflow at line:0错误。
而使用oninput="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')" 就可以实现在FF或chrome下的右键
粘贴过滤。
求大神指导如何在IE下过滤用户右键粘贴的内容。
正则表达式 ie js

------解决方案--------------------
右键的话   可以直接使用屏蔽右键功能

window.document.oncontextmenu = function(){ return false; };