日期:2014-05-17  浏览次数:20372 次

获取键名
文本框:
<input id="yykzzds" type="text" runat="server" class="inputTxt"/>
当用户点击键盘上的以下键时,提示用户是否删除。
1.按下Delete;
2.按下退格键(Backspace);
3.当用户选中文本框中的内容时,按下任意键也可以删除(替换);
4.当用户选中文本框中的内容时,鼠标右击点击删除;
当出现以上几种情况是,提示用户是否删除?
c#、js都可以。

------解决方案--------------------
<input id="yykzzds" onkeydown="if(!CheckKeyDown(e)) return false;" type="text" runat="server" class="inputTxt"/>

<script type="text/javascript" >
function CheckKeyDown(e)
{
   if(event.keyCode==13 
------解决方案--------------------
 event.keyCode==8 
------解决方案--------------------
 ...) //其他键你查一下数字
    {
      return confirm("是否删除?");
    }
   return true;
}
</script>
------解决方案--------------------
if(event.keyCode==46) 

document.getElementById("yykzzds").click(); 

自己查询下键盘键值 
------解决方案--------------------
那你在keydown事件里用个变量记录文本内容,在keyup事件里和现在文本比较,有差异则说明是选中的,在keyup里提示confirm,用户选否,则恢复刚才记录的内容
------解决方案--------------------
引用:
站在用户的角度来说,如果我打错了个字呢?想删除个字呢?频繁的弹出窗口估计再有耐心的人也烦了


同意,楼主不如在提交时比较一下,如果前后内容不一致,提示用户是否确认提交,这样用户体验似乎好些
------解决方案--------------------
确实  3 4我想楼主这样会好点  给默认值 输入时清空原有  没输入存在默认
<input type="text" value="不能为空" onfocus="if(value=='不能为空') {value=''}" onblur="if(value=='') {value='不能为空'}"> 
------解决方案--------------------
 <script language="javascript" type="text/javascript">
        function getCaret(textbox) {
            var control = document.activeElement;
            textbox.focus();
            var rang = document.selection.createRange();
            rang.setEndPoint("StartToStart", textbox.createTextRange())
            control.focus();
            return rang.text.length;
        }
        function Fun(textbox) {
            var index = getCaret(textbox);
            var start = index, end = 0;
            var str = textbox.value;
            for (var i = start; i >= 0; i--) {
                if (str[i] == '{') {