删除在函数内创建的事件侦听器? (JavaScript的)

时间:2016-12-29 12:50:00

标签: javascript html css event-listener

我试图删除在函数内创建的事件侦听器,但由于某种原因,它不起作用。如果我把它从功能中取出,它可以正常工作。示例如下:

<body>
<div id='myDiv'></div>
<button type='submit' onclick='rel()'>RemoveEventListener</button>

<script>
function Mouse() {
    myDiv.addEventListener('click', cK);
    function cK() {
        alert('You've clicked on myDiv!');
    }
}
function rel() {
    myDiv.removeEventListener('click', cK);
}
Mouse();
</script>
</body>

1 个答案:

答案 0 :(得分:5)

如果在ck内定义了Mouse,则rel中无法使用function cK() { alert('You\'ve clicked on myDiv!'); } function Mouse() { myDiv.addEventListener('click', cK); } function rel() { myDiv.removeEventListener('click', cK); } 。将它移到外面:

describe('First', function() {
    it('should test something', function() {
        ...
    })
});

describe('Second', function() {
    it('should test something else', function() {
        ...
    })
});