代码在控制台上有效,但在脚本上无效

Code works on the console but not on script

我的问题是,当在特定行上设置断点时,我的代码在控制台上工作,但在 运行 脚本或在任何其他行上设置断点时不起作用。

我有一个带有 keyup 侦听器的输入字段,即使粘贴输入也会触发,因此我正在尝试开发一种解决方案,以识别粘贴的输入并在这样做时删除 keyup 侦听器。

当我在删除 keyup 侦听器的行上设置断点时,代码 运行 在控制台中很好,但是当我直接 运行 页面上的脚本时它不起作用或在任何其他行上使用断点。我尝试了 'DOMContentLoaded'、window.load、检查 "document.readyState"、移动我的变量和函数,但仍然没有任何效果。

//Recognizes pasted inputs and calls to remove "Keyup" listener

searchInput.onpaste = function remove() {keyupListener();};


//Removes "Keyup" listener

function keyupListener() {
//Here's where it works when I set a Breakpoint
   searchInput.removeEventListener('keyup', dynamicPagination); 
}

// Keyup listener

searchInput.addEventListener('keyup', () => {
   dynamicPagination();
});

searchButton.addEventListener('click', () => {
   dynamicPagination();
});

代码不起作用时的行为是它不读取 removeEventListener,而是使用粘贴的输入启动 keyup 处理程序。

我只对原生 JS 解决方案感兴趣。

//Recognizes pasted inputs and calls to remove "Keyup" listener

var pasted = false;
searchInput.onpaste = function() {pasted=true;};

// Keyup listener
searchInput.addEventListener('keyup', () => {
    if(!pasted) dynamicPagination();
});

searchButton.addEventListener('click', () => {
   if(!pasted) dynamicPagination();
});
//---------------------------------------------------------
Try the below code:- 
//---------------------------------------------------------
<textarea rows=5 cols=50 id=inpt></textarea><button id=btn>buttonn</button>
<div id=dv></div>
<script>
(function(){
var pasted = false;
var searchInput = document.getElementById('inpt');
searchInput.onpaste = function() {pasted=true;};

// Keyup listener
searchInput.addEventListener('keyup', () => {
    if(!pasted) dynamicPagination();
    dv.innerHTML += "<BR>pasted: " + (++dynCnt);
    pasted = false;
});

var searchButton = document.getElementById('btn');
searchButton.addEventListener('click', () => {
   if(!pasted) dynamicPagination();
   dv.innerHTML += "<BR>pasted= " + (++dynCnt);
   pasted = false;
});


var dv = document.getElementById('dv');
dv.innerHTML = "";
var dynCnt = 0;
function dynamicPagination() {
    dv.innerHTML += "<BR>dynamicPagination" + (++dynCnt);
}
})();
</script>
//---------------------------------------------------------