JSFiddle - React, Tailwind, and code Playground
HTML
<form id="frmOnScreenKeyboard" name="frmOnScreenKeyboard">
<table border="0" cellpadding="0" cellspacing="0" style="margin-left:20px;">
<tr>
<td>
<input type="text" name="txtTest1" id="txtTest1" class="mytestclass"/>
</td>
</tr>
<tr>
<td>
<input type="text" name="txtTest2" id="txtTest2"/>
</td>
</tr>
<tr>
<td>
<input type="text" name="txtTest3" id="txtTest3"/>
</td>
</tr>
<tr>
<td>
<input type="button" name="butButton1" id="butButton1"/>
</td>
</tr>
<tr>
<td>
<input type="password" name="txtpassword1" id="txtpassword1"/>
</td>
</tr>
<table>
<table height="900px">
</table>
<div id="keyboard">
<table border=1 cellpadding=0 cellspacing=0>
<tr>
<td>
<div id="row2_shift">
<table border=1 cellpadding=0 cellspacing=0>
<tr>
<td><input name="a" type="button" value="A" class="testClass" /></td>
<td><input name="s" type="button" value="S" class="testClass" /></td>
<td><input name="d" type="button" value="D" class="testClass" /></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</form>
CSS
#keyboard {
position: fixed;
background: #eee;
display: none;
border: 1px solid #ccc;
border-radius:7px;
width: 700px;
height: 240px;
padding: 5px;
cursor: move;
box-shadow: -5px -5px 5px 5px #888;
-moz-border-radius: -5px -5px 5px 5px #888;
-webkit-border-radius: -5px -5px 5px 5px #888;
}
.testClass{
width: 100px;
}
JavaScript
$(document).ready(function(){
var CurrentTextBoxID = "";
// toggles the keyboard to show or hide when link is clicked
$(":text").focus(function(e) {
CurrentTextBoxID = this.id;
var top = ($(window).height() - $('#keyboard').height()) - 25;
var left = ($(window).width() - $('#keyboard').width()) / 2;
//alert(CurrentTextBoxID + " focus In");
$('#keyboard').css(
{
"left": left+"px",
"top": top+"px"
}
).toggle();
$('#keyboard').show();
});
//$(":text").focusout(function() {
$(":text").focusout(function() {
alert('class name : '+$(this).attr('class'));
if($(this).attr('class') != "testClass"){
$('#keyboard').hide();
}
});
// function thats called when any of the keys on the keyboard are pressed
$("#keyboard input").bind("click", function(e) {
$('#'+CurrentTextBoxID).replaceSelection($(this).val(), true);
});
});