0

我正在使用 GWT RixhText Area 并希望在 richText Area 中限制 100 个字符。

现在我正在这样做。

                     description.addKeyDownHandler(new KeyDownHandler(){

        @Override
        public void onKeyDown(KeyDownEvent event) {
            if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER ||
                    event.getNativeKeyCode() == KeyCodes.KEY_UP ||
                    event.getNativeKeyCode() == KeyCodes.KEY_LEFT||
                    event.getNativeKeyCode() == KeyCodes.KEY_DOWN ||
                    event.getNativeKeyCode() == KeyCodes.KEY_BACKSPACE||
                    event.getNativeKeyCode() == KeyCodes.KEY_SHIFT) {

            }else{
            if(description.getText().trim().length()>100){

            Window.alert("You have reached your maximum limit");
            }
            }
        }});

现在,当达到 100 个字符时它工作正常,给我警报,但我如何阻止用户输入更多字符,它显示警报但也接受输入.. 如何停止这个..

其次,当区域结束时,我使用下面的这个 css 本身移动到下一行.. 它工作正常.. 但是如果用户只是按住键盘上的键而不释放这个 css 不起作用,不采取下一行并继续..有没有解决方案

CSS:

       break-word {
  white-space: pre-wrap; /* css-3 */
 white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
 white-space: -pre-wrap; /* Opera 4-6 */
 white-space: -o-pre-wrap; /* Opera 7 */
 word-wrap: break-word; /* Internet Explorer 5.5+ */
}

谢谢

4

2 回答 2

4

使用event.preventDefault() 而不是 Window.alert()

if(description.getText().trim().length()>=100) {
  event.preventDefault();
}
于 2013-09-12T07:47:33.270 回答
0

为了防止在 100 之后输入字符,你可以这样做。

if(description.getText().trim().length()>100)
{
        description.setText(description.getText().substring( 0, 100 ));
        Window.alert("You have reached your maximum limit");
}
于 2013-09-12T07:25:19.393 回答