我正在使用GWT RixhText区域,并希望在richText区域中限制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+ */
}
谢谢
答案 0 :(得分:4)
使用event.preventDefault()代替Window.alert()
if(description.getText().trim().length()>=100) {
event.preventDefault();
}
答案 1 :(得分:0)
要防止在100之后输入字符,您可以执行以下操作。
if(description.getText().trim().length()>100)
{
description.setText(description.getText().substring( 0, 100 ));
Window.alert("You have reached your maximum limit");
}