我只是在点击一个按钮时尝试加载一个函数,但是根据一个值,它会调用另一个方法并执行不同的操作。
我知道该值设置为“set”但是它仍然进入if语句并提交removeAttribute方法。
if (change == "set"){
document.getElementById('close').setAttribute("data-dismiss", "modal");
$('#\\#myModal').modal({ keyboard: false, backdrop: 'static' });
$('#\\#myModal').modal('show');
createPicker();
}
else if (change == "search"){
document.getElementById('close').onclick = function(){
document.getElementById('close').removeAttribute("data-dismiss");
hideFields();
}
}
如果有人知道当价值不匹配时如何阻止它进入那个else语句,那将非常感激。
答案 0 :(得分:2)
我认为问题是您已经设置了onclick
一次,即使在onclick
条件下,您需要做的是清除set
。
if (change == "set"){
document.getElementById('close').removeEventListener("onclick");
document.getElementById('close').setAttribute("data-dismiss", "modal");
$('#\\#myModal').modal({ keyboard: false, backdrop: 'static' });
$('#\\#myModal').modal('show');
createPicker();
}
else if (change == "search"){
document.getElementById('close').onclick = function(){
document.getElementById('close').removeAttribute("data-dismiss");
hideFields();
}
}