在做web项目时,jsp页面有时候会根据业务需要添加一些默认值,而且部分默认值是不允许修改的,这样就牵扯到另外一个问题,当用户在页面填写表单用table键切换的时候,不允许修改的默认行会出现选中光标,触发onblur事件,这时候我们就需要考虑禁掉选中光标。
以前用的时候使用disable的,直接就可以禁掉光标,但是使用disable会有两大问题。1)disable使当前输入框input或者别的标签组建直接失效,我们在进行提交的时候,将不能获取到该标签的值。 2)disable禁掉之后,标签组建的样式比较丑,虽然我们可以通过css样式来进行调整,但还是比较麻烦
现在我们可以通过一个html的input标签属性设置,来选择禁掉标签的可选中光标
<html>
<head>
<title>unselectable=on属性的作用</title>
<meta http-equiv="Content-Type" content="text/html;charset=gbk" />
<script language="javascript" type="text/javascript">
(function () {
var txt = document.getElementById("txt");
txt.onblur blurCh = function () {
alert('失去焦点了');
}
var txt1 = document.getElementById("txt1");
txt1.onblur blurCh1 = function () {
alert('可以获取焦点');
}
})();
</script>
</head>
<body>
<div>
<p><input id="txt" type="text" onblur /></p>
<p><input id="txt1" type="text" readonly="readonly" unselectable="on"onblur ="blurCh()"/></p>
</body>
</html>