0

重複の可能性:
JavaScript: イベントリスナーを削除

「開始」ボタンがクリックされた後、ナビゲーションからいくつかのイベント リスナーを削除しようとしています。私は何かに火をつけることができないようです。

私がそれを行うために使用しているコードは次のとおりです。

var startButton = document.getElementById('startButton');

startButton.addEventListener('click', function() {
    hrNav.removeEventListener('mousedown', highlight, false);
    alert('Did it remove the listener?');
}, false); 

削除しようとしているイベントリスナーは次のとおりです。

if(hrNav.addEventListener){  
    hrNav.addEventListener('mousedown', highlight, false);  
    return true;  
} else {  
    hrNav.attachEvent('on'+'click', highlight);  
    return true;  
}

すべてが jQuerydocument.ready関数にラップされています。

4

1 に答える 1

0

あなたがjQueryを使用していると言ったので。次のようなものを試してください:http://jsfiddle.net/MmFb2/4/

JS

$(function(){
    var startButton = $('#startButton');
    var hrNav = $('#hrNav');

    startButton.bind('click', function() {
        hrNav.unbind('click');
    }); 

    var toggle = false; 
    hrNav.bind('click', function(){
        var ele = $(this); 
        if(toggle){
            ele.css('background-color', '');
        }else{            
            ele.css('background-color', 'yellow');
        }
        toggle = !toggle;
    });
}); 

<strong> HTML

<input id="startButton" type="button" value='click to disable' />
<div id="hrNav">Click me to highlight</div>​
于 2012-09-17T23:31:43.820 に答える