有没有一种方法可以在字数限制超出限制时停止用户输入。
目前,我在textarea
和e.preventDefault();
中具有onChange。但是,它似乎并没有阻止用户输入。有反正可以实现这一目标,我知道您可以将addEventlister
替换为keypress
并阻止默认设置。但是reactJS如何实现相同的功能呢?
在jQuery中:(我如何在reactJS中实现相同功能)?
$(function(){
$('textarea').keypress(function() {
var l = $(this).val().split(' ');
if(l.length > 50){
return false;
}
})
})
最佳答案
在react中,您可以使用onKeyPress
事件并使用.preventDefault
和.stopPropagation
方法,如下所示
var Component = React.createClass({
handleKeyPress: function(e) {
var value = e.currentTarget.value.split(' ');
if (value.length > 10) {
e.preventDefault();
e.stopPropagation();
} else {
console.log(value);
}
},
render: function() {
return <textarea onKeyPress={ this.handleKeyPress }></textarea>;
}
});
Example
return false
事件处理程序中的jQuery
实际上与调用e.preventDefault
和e.stopPropagation
相同关于ReactJS onChange阻止用户继续输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33407126/