我有一个搜索表单,当有人输入时它会做出反应。我希望它在粘贴某些内容时也能做出反应,这可能吗?现在,粘贴的文本后面必须有一个空格。
<input type="text" name="search_text" id="search_text" placeholder="" class="fontAwesome">
<div id="result"></div>
<script>
$(document).ready(function(){
load_data();
function load_data(query) {
$.ajax({
url:"oSearch.php",
method:"POST", data:{query:query},
success:function(data) {
$('#result').html(data);
}
});
}
$('#search_text').keyup(function(){ var search = $(this).val();
if(search != '')
{
load_data(search);
}
else
{
load_data();
}
});
});
</script>
您可以使用“粘贴”事件,请参阅下面如何使用 jquery 监听多个事件
$('#search_text').on('keyup paste', function(){
console.log($(this).val());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<input type="text" name="search_text" id="search_text" placeholder="" class="fontAwesome">
PS:我建议使用某种“节流”来避免每次按键时都进行ajax调用