在点击“开始”按钮后,我试图从导航中删除一些事件侦听器。我似乎无法解决任何事情。
以下是我用来执行此操作的代码:
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;
}
所有这些都包含在jQuery document.ready
函数中。
答案 0 :(得分: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;
});
});
<强> HTML 强>
<input id="startButton" type="button" value='click to disable' />
<div id="hrNav">Click me to highlight</div>