我使用的是稍微增加了一些虛擬鍵盤從本教程:在線鍵盤禁用當文本輸入
http://net.tutsplus.com/tutorials/javascript-ajax/creating-a-keyboard-with-css-and-jquery/
jQuery的:
$(function(){
var $write2 = $('#write2'),
shift = false,
capslock = false;
$('#keyboard li').click(function(){
var $this = $(this),
character = $this.html(); // If it's a lowercase letter, nothing happens to this variable
// Shift keys
if ($this.hasClass('left-shift') || $this.hasClass('right-shift')) {
$('.letter').toggleClass('uppercase');
$('.symbol span').toggle();
shift = (shift === true) ? false : true;
capslock = false;
return false;
}
// Caps lock
if ($this.hasClass('capslock')) {
$('.letter').toggleClass('uppercase');
capslock = true;
return false;
}
// Delete
if ($this.hasClass('delete')) {
var html = $write2.html();
$write2.html(html.substr(0, html.length - 1000));
return false;
}
// Special characters
if ($this.hasClass('symbol')) character = $('span:visible', $this).html();
if ($this.hasClass('space')) character = $('span:visible', $this).html();
if ($this.hasClass('tab')) character = $('span:visible', $this).html();
if ($this.hasClass('return')) character = "\n";
// Uppercase letter
if ($this.hasClass('uppercase')) character = character.toUpperCase();
// Remove shift once a key is clicked.
if (shift === true) {
$('.symbol span').toggle();
if (capslock === false) $('.letter').toggleClass('uppercase');
shift = false;
}
// Add the character
$write2.html(character+ " " + $write2.html());
}); });
的問題是,當我手動更改textarea,鍵盤被禁用。我不確定爲什麼,教程沒有真正解釋這個錯誤。
謝謝。
你所說的「手動更改文本域」是什麼意思? – Tomm
當某些東西被輸入到textarea中時,在線鍵盤被禁用。所以,你不能順利地在textarea中鍵入並點擊在線鍵盤。 – Liban