在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/網絡安全  HTML/ 在focus事件中嵌套keypress事件

在focus事件中嵌套keypress事件

這是個調用維基百科的測試,我設置了focus,blur,keypress事件,其中keypress是嵌套在focus中的,我的問題操作是:點擊input獲得焦點,輸入任意字符,然后焦點離開input對字符串進行清空,再次點擊input輸入字符并回車,進行查詢操作。
結果是keypress事件觸發(fā)了兩次,我的預期是一次,想求助這是什么原因?

window.onload = function() {
    var input = $('input');
    //查詢框獲得焦點
    input.focus(function () {
        $('.search').css('background-image', 'initial');
        //回車查詢
        input.on('keypress',function(event) {
            if(input.val()) {
                if (event.keyCode === 13) {
                    $('section:nth-child(n+2)').remove();console.log('1');
                    var itemArray = [];
                    var keyword = $(this).val();
                    var html = '';
                    var url = 'https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=' + keyword + '&prop=info&inprop=url&utf8=&format=json';
                    $.ajax({
                        dataType: 'JSONP',
                        url: url,
                        type: "get",
                        success: function (response) {
                            for (var item in response.query.search) {
                                itemArray.push(response.query.search[item]);
                            }
                            //console.log(itemArray);
                            itemArray.forEach(function (val) {
                                html += '<section><h2>' + val.title + '</h2><p>' + val.snippet + '</p></section>';
                            });
                            $('body').append(html);

                        },
                        error: function (e) {
                            //失敗執(zhí)行
                            alert(e.status + ',' + e.statusText);
                        }
                    });
                }
            }
        });
    });
    input.blur(function () {
        input.val('');
        setTimeout(function(){
            $('.search').css('background-image', 'url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEpElEQVRoQ92a3XEUMQzHpQogjzwRKoBUAKkAUgGXCoAKIBVAKiCpgKQCkgq4DuDeeCNUYOZv5IxOsff8tXd7q5mdXO521/5ZkmXLYuokztELInpJRIdE/jMEn3H9kgvf3cjnW2b//VaFW1oTyLdE9EbASl8H4CsiOt8WfBWwc/SKiD4S+b+9BJo/Y/YWMJoUAYtGPxeArsR8YdZPMykAfDqWxrOBnfMa/TTQ6Wvxz2VKS87RY/FvWAYu+HxM7tAWM51nDlL2bRuBpZPfElqFBr8Q0QUzoZNF4pyf0BZE9J6IHkUehn9D28XvTnVkEFg6BNgw64b3/BUNALZZZFABHQNfEtFxL+gksMD+IPJmqAWmu+jVAf1iafMiYurdoKPAMuLfI5r9wOxNeFRxzs8VmDO0dIFOAQPWhhz4EkZ/K+Kc9+2vprErZjpp6cAD4MTobhU2ACWgm6xsDVjiLPxWS1MDLdrAsxEFYMY+qo3TFtia8jWzXzbuVJzzqy8ds6tN+x5YlosADoLQczjGbFw6ejJ7/zTPIVQVL0M1sNXuTk3ZDkrEtC+Z/cRWJB444rsrZr8KmoxIqMTuSq/InpX6cgBGbH2n6CalXTVrN/czAMM/tEYPpuC7EbNGH7UvY6NyVGKGHDHnSczMKQjnCCuu5+r3IuUAGAt27HGDTNKcB8z6hNlnTbIEwNYvqqb7rNY63OScXxdgBxcEWZKhffpaqwBeC+rMtHGP3KHf1a+IuGBReNo7YAmjTo0Ysp/ZuTUA6xl6cvE3ZgrOURNw9cPVdtn4YCuw9uE7Zjpo7M/oj/cEpqlPWj18GFkMnB4EKQrko6vTNNBjlrb5o9nHYZs7KgrkO9Bw00IJYQlp2D+1cW0HwEhB6Tx5kQuG3ZJNoRTvM7cBHvHfokUH+hiA7QZikmYdWfcXb3QCsN1nIjMILXc702m1AHE9rAr1SUiROd9rWGKbDU+T0nJEu0WbhjDgOokX03J1/rdVo/r5RL68ap6xeWmr5RtmOu7Z+dJ3Jc65qrS7ZtJi1tAyUig6M7hT03bOny/pdGxTvjx2thQ7xNrV2VLsFLEopWMtKnV6aE0bz20VOlFigWofhNBqGToQt4sRNIK6i7Pq1jIeFJ9FUtGeKvxmpicZrxi8ZQgY8Q7QOiWKl41WZSOzMXzWllgECNSSnLZAb6rxADTM+3WkEfgXTKx5cSJaxYl/jrk2QWdlKCNBP/ADFgNSVUmnKvlgvraWBG2gbAnf6/06vq+GzgKWkIVOYWsWKy/CLQhnMHdcSAbi/zURQBSohTqtlOki9KBwxifYnfOD+gCaiLCWLrKwbGBpGKMNs7MFJy1uZZ+9RBsWJAFdXOhSBBx6JgfU8GE76i3gAEUUSFbY9oCuAlbg0DiOPnDFJrZNA3Ar1bTZlXyt0E3AER8NvomfQq20vi3UTcPPcdRZ5H9qoGM+nWXeXYE3qbPn75FTzzBxDpYp7i2wihy2eG1Q03sNXAO998AD0JgvsLNaWw/MAngAGpMifPoeejbAudCzAs6Bnh3wwLr/v3n3jI1TepdsVLDA0Zud5WyBRdPYjWno1ayBFXSo5F/8A9N/2lN2UHxrAAAAAElFTkSuQmCC")');
        }, 200);
    });
}
回答
編輯回答
你好胸

沒有仔細看代碼,解決方案:

 input.on('keypress',function(event) {.....

把on前面加個解綁事件

input.off().on('keypress',function(event) {.....

可能有事件外面有循環(huán),先把事件解綁,在進行添加就可以了,請采納

2018年8月16日 13:27