我只想更改 "change" 一次
I want to onchange "change" just one time
所以:我一直试图只进行一次 onchange 更改,因为我希望对象在第一次更改后出现在屏幕上,并留在屏幕上:
<select required name="Tamanho" style="margin-top: 10px;margin-bottom: 10px;font-family: bebas_kairegular;font-size: 26px;" onchange="button();">
<option value="tamanho" selected disabled id="tamanho">Escolha um tamanho</option>
<option value="P">P</option>
<option value="M">M</option>
<option value="G">G</option>
</select>
<div id="button" ><button type="button" onclick="cartClick()" style="font-size: 26px;">Comprar</button></div>
并使用此 javascript 函数在页面上显示 div
function button() {
var p = document.getElementById("button");
if (p.style.display === "none") {
p.style.display = "block";
} else {
p.style.display = "none
}
}
button();
我不知道该怎么做才能得到我想要的。
请帮帮我?
谢谢!
如果我没理解错的话,您想在选择第一个项目后显示按钮,然后保持可见。如果这是正确的,请参阅下面使用您的代码的示例。您不需要代码中的 else
部分,我将 display: none
添加到 #button
.
function button() {
var p = document.getElementById("button");
if (p.style.display === "none") {
p.style.display = "block";
}
}
<select required name="Tamanho" style="margin-top: 10px;margin-bottom: 10px;font-family: bebas_kairegular;font-size: 26px;" onchange="button();">
<option value="tamanho" selected disabled id="tamanho">Escolha um tamanho</option>
<option value="P">P</option>
<option value="M">M</option>
<option value="G">G</option>
</select>
<div id="button" style="display:none"><button type="button" onclick="cartClick()" style="font-size: 26px;">Comprar</button></div>
I've been trying to make an onchange
change just one time
这就是 .removeEventListener()
的用途。
您可以在 <script>
中使用 .addEventListener()
而不是 onchange="button();"
作为内联属性,如下所示:
// GRAB ELEMENT
const selectTamanho = document.querySelector('[name="Tamanho"]');
// ADD THE EVENT LISTENER TO ELEMENT
selectTamanho.addEventListener('change', button);
然后,在 button()
函数中,您可以添加最后一行:
// REMOVE THE EVENT LISTENER FROM ELEMENT
selectTamanho.removeEventListener('change', button);
所以:我一直试图只进行一次 onchange 更改,因为我希望对象在第一次更改后出现在屏幕上,并留在屏幕上:
<select required name="Tamanho" style="margin-top: 10px;margin-bottom: 10px;font-family: bebas_kairegular;font-size: 26px;" onchange="button();">
<option value="tamanho" selected disabled id="tamanho">Escolha um tamanho</option>
<option value="P">P</option>
<option value="M">M</option>
<option value="G">G</option>
</select>
<div id="button" ><button type="button" onclick="cartClick()" style="font-size: 26px;">Comprar</button></div>
并使用此 javascript 函数在页面上显示 div
function button() {
var p = document.getElementById("button");
if (p.style.display === "none") {
p.style.display = "block";
} else {
p.style.display = "none
}
}
button();
我不知道该怎么做才能得到我想要的。 请帮帮我?
谢谢!
如果我没理解错的话,您想在选择第一个项目后显示按钮,然后保持可见。如果这是正确的,请参阅下面使用您的代码的示例。您不需要代码中的 else
部分,我将 display: none
添加到 #button
.
function button() {
var p = document.getElementById("button");
if (p.style.display === "none") {
p.style.display = "block";
}
}
<select required name="Tamanho" style="margin-top: 10px;margin-bottom: 10px;font-family: bebas_kairegular;font-size: 26px;" onchange="button();">
<option value="tamanho" selected disabled id="tamanho">Escolha um tamanho</option>
<option value="P">P</option>
<option value="M">M</option>
<option value="G">G</option>
</select>
<div id="button" style="display:none"><button type="button" onclick="cartClick()" style="font-size: 26px;">Comprar</button></div>
I've been trying to make an
onchange
change just one time
这就是 .removeEventListener()
的用途。
您可以在 <script>
中使用 .addEventListener()
而不是 onchange="button();"
作为内联属性,如下所示:
// GRAB ELEMENT
const selectTamanho = document.querySelector('[name="Tamanho"]');
// ADD THE EVENT LISTENER TO ELEMENT
selectTamanho.addEventListener('change', button);
然后,在 button()
函数中,您可以添加最后一行:
// REMOVE THE EVENT LISTENER FROM ELEMENT
selectTamanho.removeEventListener('change', button);