js を使用してオーバーレイを実装する方法は次のとおりです: jsfiddle
CSS:
#overlay{
position: absolute;
background-color: rgb(255,0,0);
opacity:0.2;
z-index:5;
}
#field{
/*background-image:url('');*/
}
html:
<input id="field" type="text" />
<div id="overlay"></div>
js:
console.log(parseInt($('#field').css('border-width')));
var border = parseInt($('#field').css('border'));
$('#overlay').css({'width':($('#field').width()+2*border)+'px','height':($('#field').height()+3*border)+'px','left':($('#field').offset().left)+'px','top':($('#field').offset().top)+'px'});
$('#overlay').click(function(){
console.log('clicked');
$('#field').focus();
}).mousedown(function(){
$('#field').mousedown();
}).mouseup(function(){
$('#field').mouseup();
});
テキスト選択を追加したい場合 => これ$('#field').select();
を mousedown トリガーまたは mouseup 内に追加します