【发布时间】:2014-01-14 16:47:46
【问题描述】:
我有下面提到的示例键盘布局: 单击屏幕上的每个数字时,我想在文本区域中更新它。 单击退格键,我想删除最后一个数字。 单击全部清除后,需要清除完整的文本。 单击导航键 光标应在文本区域中向前和向后移动。 有没有办法只使用 CSS3 来实现这一点? [不使用Javascript?] 如果没有,您能否建议实现相同目标的最佳选择? [注意:我没有在页面上使用任何 javascript,所以添加像 jQuery 这样的东西会增加页面加载时间的开销]
<html><head>
<style> .vKeyboardSplKeys {
background-color:#DEDBE4 ;
border:1px solid #666666;
display:inline-block;
color:#000000;
font-family:arial;
font-weight:bold;
padding:3px 6px;
margin : 2px;
cursor:pointer;
}
.vKeyboardSplKeysHover {
background-color:#8cb82b;
}.vKeyboardSplKeys:active {
position:relative;
top:1px;
}
.vKeyboardKeys {
width:9px;
background-color:#EEEEEE;
border:1px solid #666666;
display:inline-block;
color:#000000;
font-family:arial;
font-weight:bold;
padding:3px 8px;
margin : 2px;
cursor:pointer;
}.vKeyboardKeysHover {
background-color:#CEE9FC;
}.vKeyboardKeys:active {
position:relative;
top:1px;
}
.space {
padding : 3px 40px;
}
#vKeyboard{
border : 1px solid #DDDDDDD;
background-color : #F4F4F4;
padding:5px;
text-align:center;
} </style>
</head>
<body>
<center><input type="text" id="answer" value="">
<div id="vKeyboard" style="width: 100px;"><span class="vKeyboardSplKeys vKeyboardSplKeysHover" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">Backspace</span><br><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">7</span><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">8</span><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">9</span><br><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">4</span><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">5</span><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">6</span><br><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">1</span><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">2</span><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">3</span><br><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">0</span><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">.</span><span class="vKeyboardKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">-</span><br><span class="vKeyboardSplKeys" data="left" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">←</span><span class="vKeyboardSplKeys" data="right" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">→</span><br><span class="vKeyboardSplKeys" style="border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;">Clear All</span><br></div></center>
</body></html>
【问题讨论】:
标签: javascript jquery html css keyboard