removeEventListener无效

<!DOCTYPE html>

<html lang="en">

 

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</title>

</head>

 

<body>

<button id="btn1">添加监听事件</button>

<button id="btn2">移除监听事件</button>

<div id="box3" style="width:150px;height:150px;background:pink"></div>

<script>

document.getElementById('btn1').addEventListener("click", fn3)

 

document.getElementById('btn2').onclick = function () {

document.getElementById('box3').removeEventListener("click", fn3)

}

 

function fn3() {

document.getElementById('box3').onclick = function () {

alert(11111)

}

}

</script>

</body>

 

</html>

document.getElementById('btn1').onclick = function () {
	document.getElementById('box3').addEventListener("click", fn3)
}
document.getElementById('btn2').onclick = function () {
	document.getElementById('box3').removeEventListener("click", fn3)
}
function fn3() {
	alert(11111)
}

 

   

    <button id="btn1">添加监听事件</button>

    <button id="btn2">移除监听事件</button>

    <div id="box3" style="width:150px;height:150px;background:pink"></div>

    <script>
        document.getElementById('btn1').onclick = () => {
            document.getElementById('box3').addEventListener('click', fn3(true), false)
        }
        document.getElementById('btn2').onclick = () => {
            document.getElementById('box3').addEventListener('click', fn3(false), false)
        }
        function fn3(result) {
            if(result) {
                document.getElementById('box3').addEventListener('click', fn4, false)
            } else {
                document.getElementById('box3').removeEventListener("click", fn4, false)
            }
        }
        function fn4() {
            alert(11111)
        }
    </script>