8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

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

coder rock 3月前

118 0

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

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

<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>
帖子版权声明 1、本帖标题:将文本粘贴到表单中时加载数据
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由coder rock在本站《ajax》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 您可以使用 \'paste\' 事件,请参阅下文如何使用 jquery 监听多个事件

    function debounce(callback, delay) {
    var timeoutHandler = null;
    return function () {
        clearTimeout(timeoutHandler);
        timeoutHandler = setTimeout(function () {
            callback();
        }, delay);
    }
    }
    $('#search_text').on('keyup paste', debounce(function(e){
      console.log($('#search_text').val());
    }, 500));
    <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:我建议使用某种\'节流\'来避免每次键入时都进行 ajaxcall(粘贴也会触发键入),请参阅-> 如何延迟 .keyup() 处理程序直到用户停止输入?

返回
作者最近主题: