如果未达到最大长度,如何重新启用屏幕键盘

我有一个ul li键盘,该键盘会先获取4个数字,然后获取3个字母,然后再禁用自身。但是,如果用户单击删除按钮,它将不会重新启用自己。


我以为“如果长度小于8,我只添加.removeClass('disabled')可能会起作用。但是我很确定那不是这样的。请帮帮我。


$(function() {

  var $write = $('#write'),

    symbols = $('.symbol'),

    letters = $('.letter'),

    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 = $write.html();

      $write.html(html.substr(0, html.length - 1));

      return false;

    }


    // Special characters

    if ($this.hasClass('symbol')) character = $('span:visible', $this).html();

    if ($this.hasClass('space')) character = ' ';

    if ($this.hasClass('tab')) character = "\t";

    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;

    }

 

除了缺少重要功能外,它还可以做一些需要做的事情。没有足够的经验来解决此问题。(ps这个键盘实际上不关心textarea字符限制,因为它不是在按键时,我不知道它是什么。所以我只是作了一些即兴的工作来解决。如果您只是用键盘写它,它将最多输入4个字母,因为这是文本区域的限制。如果使用屏幕键盘进行书写,您将获得7.帮助。)

(PSS:为什么“ LEFT-TAB”在最小化时会继续上升?)


至尊宝的传说
浏览 120回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript