我有一个文本区域,我希望用户编辑那里已有的内容,然后按Enter键以使用Ajax调用提交,但是一旦按Enter键,它就禁用到新行。谢谢
$(document).keypress(function(e) {
if (!$(".specialClass").is(":focus")) {
e.preventDefault();
if (e.which == 13) {
console.log('You pressed enter!');
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
答案 0 :(得分:5)
您将使用类似的内容:
$('textarea').on('keyup keypress', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
e.preventDefault();
// Ajax code here
return false;
}
});
答案 1 :(得分:2)
我希望用户编辑已经存在的内容,然后按Enter键以使用Ajax调用提交,但还希望一旦按下Enter键就禁止它进入新行
使用您的编码设计,稍微修改一下代码就可以完成这项工作:
$(document).keypress(function(e) {
if($(".specialClass").is(":focus")){
if(e.which == 13) {
e.preventDefault();
let text_value = $(".specialClass").val()
console.log('Sending Ajax with text',text_value);
}
}
});
答案 2 :(得分:1)
希望这对您有所帮助。
$(document).keypress('.specialClass', function(e) {
if (e.which == 13) {
e.preventDefault();
console.log('You pressed enter!');
}
});
.specialClass {
width: 80%;
height: 80px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea class="specialClass">
This is my text
with some lines
bye
</textarea>