Редактирование содержимого Div Copy & Paste Limit - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть окно сообщения с опцией Редактировать, когда пользователь редактирует сообщение, у меня есть ограничение, установленное на 300 символов для нажатия клавиш, но когда я копирую и вставляю, предел превышен без эффекта из моего кода ограничения Jscript.

Может кто-нибудь увидеть, где я иду не так с кодом ниже.Пожалуйста и спасибо.

var ebm=document.getElementById('editSeller'+varmessageid+'');


                        var messbox=$(ebm).text();
                        var messlength = messbox.length;
                        var amount=300;
                        var leftlength=amount-messlength;



                                //delete & backspace keys
                            document.addEventListener('keyup', function(event) {
                                const key = event.key;
                                if (key === "Backspace" || key === "Delete") {

                                 var messbox=$(ebm).text();
                                var messlength = messbox.length;
                                var amount=300;
                                var leftlength=amount-messlength;


                                    if (leftlength <1 ) {leftlength=0
                                    $(ebm).css('border', '1px dashed red');
                                    event.preventDefault();
                                    }
                                        else {
                                        $(ebm).css('border', '1px dashed #07f310');
                                        }



                                $('#CSeller'+varmessageid+'').text('Characters Left: '+leftlength);
                                 }
                            });


 //ascii keys
                             $(ebm).on('keypress', function(e){



                                var messbox=$(ebm).text();
                                var messlength = messbox.length;
                                var amount=299;
                                var leftlength=amount-messlength;


                                    if (leftlength <1 ) {leftlength=0
                                    $(ebm).css('border', '1px dashed red');
                                    e.preventDefault();
                                    }
                                        else  {
                                        $(ebm).css('border', '1px dashed #07f310');
                                        }



                                $('#CSeller'+varmessageid+'').text('Characters Left: '+leftlength);



                            });

1 Ответ

0 голосов
/ 15 ноября 2018

Добавлена ​​еще одна функция, как показано ниже, с использованием .onpaste кажется, до сих пор работает так хорошо ...

еще предстоит проверить совместимость браузера.

var ebm=document.getElementById('editSeller'+varmessageid+'');

   ebm.onpaste = function(event){
     var messbox=$(ebm).text();
     var messlength = messbox.length;
     var amount=300;
     var leftlength=amount-messlength;


    if (leftlength <1 ) {leftlength=0
     $(ebm).css('border', '1px dashed red');
      event.preventDefault();
       }

       else {
           $(ebm).css('border', '1px dashed #07f310');
          }

        $('#CSeller'+varmessageid+'').text('Characters Left: '+leftlength);
};
...