我正在努力将条件逻辑添加到我们商店中的某些产品中,并在用户选择某个选项时显示 Bootstrap 模式。我是事件冒泡的新手,但已将选择框定义为变量并声明了以下代码:
//All the events I want to listen for:
document.body.addEventListener("change", (event) => {
if (event.target !== orientation && event.target !== brightSwitchVol && event.target !== brightSwitchTone && event.target !== potValue && event.target !== switchType) {
return;
}
我还有一个函数来显示模态:
function showModal() {
$("#product-modal").modal("show");
}
当选中某些选项时,我在几个不同的选择框上显示了模式。模式为“空白”,我根据选项动态更改文本。问题出在我的选择框上。orientation
if (orientation.value === "flipped-co") {
modalHeading.innerHTML = "FLIPPED ORIENTATION NOTE:";
modalMessage.innerHTML =
"Please check your existing control cavity to make sure you can use the Flipped Orientation. Some Telecasters have a deeper pocket for the switch, and you cannot reverse the orientation without routing some wood away.";
showModal();
}
问题:
当用户从选择框中进行选择时,将显示模式。但是,事件侦听器列表中的下一项显示相同的翻转方向模式内容。我认为问题在于事件侦听器通过每个选择框“循环”,并且由于仍然正确,它显示第一个模态内容,而不是下一个内容。如何防止这种情况发生?flipped-coorientationflipped-co
我试过:
event.stopPropagation()在方向代码下,但这也不起作用。
我还尝试添加一个cookie,以防止模式在被选中后再次显示,但当然,这可以防止模式再次显示在我希望它显示的框中。flipped-co
呼啦一阵风
一只斗牛犬
相关分类