在表单中粘贴文本时加载数据

问题描述 投票:0回答:1

我有一个搜索表单,当有人输入时它会做出反应。我希望它在粘贴某些内容时也能做出反应,这可能吗?现在,粘贴的文本后面必须有一个空格。

<input type="text" name="search_text" id="search_text" placeholder="&#xf002;" 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 ajax keyup
1个回答
1
投票

您可以使用“粘贴”事件,请参阅下面如何使用 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="&#xf002;" class="fontAwesome">

PS:我建议使用某种“节流”来避免每次按键时都进行ajax调用

© www.soinside.com 2019 - 2024. All rights reserved.