在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
今天涉及到一个问题,在jsp中的查询条件中,有文本框可输入筛选条件,也有下拉框选择筛选条件。输入框中内容可按“Backspace”键进行删除,但是下拉框中需要屏蔽backspace功能,否则就回执行页面的回退功能。代码如下 复制代码 代码如下: <td width="350px;">企业名称: <input type="text" name="filter_psName" id="psName" size="40"/> </td> <td width="200px;">区域: <select name="filter_regionCode" id="regionName" theme="simple" /> </td> <td> <s:radio onclick="query();" name="filter_status" theme="simple" ></s:radio> </td> <td valign="middle" align="center"> <img src="${ctx}/common/img/icons/icon403a3.gif" height="20" />查询 </td> 在网上找了一段屏蔽退格键的代码如下 复制代码 代码如下: $(document).keydown(function (e) { var doPrevent; if (e.keyCode == 8) { var d = e.srcElement || e.target; if (d.tagName.toUpperCase() == 'SELECT') { doPrevent = d.readOnly || d.disabled; } else doPrevent = true; } else doPrevent = false; if (doPrevent) e.preventDefault(); }); 发现有如下问题: 下拉框d.tagName获取的的标签名称也是INPUT。故实现不了上述需求。 仔细研究了一下,下了如下代码 复制代码 代码如下: //屏蔽下拉框的退格键操作 $(document).keydown( function(e) { //获取键盘的按键CODE var k=e.keyCode; //获取操作的标签对象 var obj=e.target || e.srcElement; //获取对象的只读属性的值 var vReadOnly = obj.getAttribute('readonly'); //如果按键为“backspace”并且标签对象的只读属性不为空时return false(select 标签默认 readonly=“readonly”) if(k==8 && vReadOnly!=null){ return false; } }); 实现了上述需求,应该还有更好的办法,希望朋友们看到能够给予提示或者互相讨论。 |
请发表评论