看看我的代码,如果你使用了chrome,你会注意到当我按下Enter键时,preventDefault不起作用,但在firefox和safari中工作,为什么?
var fighting_textarea=$('#fighting');
fighting_textarea.on( "keydown", function( event ) {
if ( event.which == 13 ) {
event.preventDefault();
alert('hello');
}
});//click

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="fighting"> </textarea>
&#13;
答案 0 :(得分:1)
它工作正常,你只需要删除警报(我想这不是必需的)。 还有一件事你也应该考虑代码10,b'coz on iphone safari会给出代码10。
var fighting_textarea=$('#fighting');
fighting_textarea.on( "keydown", function( event ) {
if ( event.keyCode == 10 || event.keyCode == 13 ) {
event.preventDefault();
}
});//click
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="fighting"> </textarea>
答案 1 :(得分:1)
您可以使用keydown
代替var fighting_textarea = $('#fighting');
fighting_textarea.on("keypress", function (event) {
if (event.which == 13) {
event.preventDefault();
alert('hello');
}
}); //click
DateTime
另请查看此answer
还注意到,如果你删除警报,一切似乎都没问题,至于为什么不幸我不知道。