Поскольку вы используете sizeof(*ptr)
, вы действительно запрашиваете размер первого элемента в выделенном буфере, поэтому sizeof
вернет размер первого элемента в ptr
(т. е. целые числа 2x4 байтов на 32bits), а не назначенный размер.
Также обратите внимание, что даже если вы будете использовать sizeof(ptr)
, вы получите размер указателя ptr
, который на 32-битной системе будет 4 байта .
Вы бы использовали что-то вроде:
$('textarea').on('keyup keypress', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
e.preventDefault();
// Ajax code here
return false;
}
});
я хочу, чтобы пользователи редактировали то, что уже есть, и нажимали ввод для отправки с помощью вызова ajax, но также отключали его при переходе на новую строку после нажатия клавиши ввода
blockquote>Использование дизайна кода , небольшое изменение в вашем коде должно сделать работу:
$(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); } } });
Надеюсь, это поможет вам.
$(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>