繁体   English   中英

为什么我的preventDefault在Chrome浏览器jquery中不起作用?

[英]Why does my preventDefault not work in Chrome browser jquery?

看我的代码,如果您使用的是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> 

它工作正常,您只需要删除警报(我想这不是必需的)。 您还应该考虑代码10,iPhone Safari中的b'coz给出代码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> 

你可以使用keypress代替keydown

var fighting_textarea = $('#fighting');
fighting_textarea.on("keypress", function (event) {
    if (event.which == 13) {
        event.preventDefault();
        alert('hello');
    }

}); //click

也看看这个答案

还只是注意到,如果删除警报,一切似乎都很好,至于为什么我不知道为什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM