Javascript 如何检查是否在函数onClick中单击了按钮?
我有一个标记,当单击该标记时,会出现一个模型。在该模型内,我有3个按钮,具有3种不同的功能。在函数onClick(标记)中,我不想检查模型中哪个树按钮被单击。类似于Javascript 如何检查是否在函数onClick中单击了按钮?,javascript,Javascript,我有一个标记,当单击该标记时,会出现一个模型。在该模型内,我有3个按钮,具有3种不同的功能。在函数onClick(标记)中,我不想检查模型中哪个树按钮被单击。类似于 if(('#button').isclicked == true) { aceite(); } 需要注意的是,我的按钮是隐藏的,它们是由另一个使用append的函数添加的 变量: var aceite = document.getElementById("aceite"); var recusado = d
if(('#button').isclicked == true)
{
aceite();
}
需要注意的是,我的按钮是隐藏的,它们是由另一个使用append的函数添加的
变量:
var aceite = document.getElementById("aceite");
var recusado = document.getElementById("recusado");
var concluido = document.getElementById("concluido");
以下是添加按钮的功能:
function getData(id) {
$.get(`/api/IgnicoesAPI/${id}`, function (data) {
//o div terá que ser limpo para que a informação não seja subreposta
document.getElementById("myDiv").innerHTML = "";
document.getElementById("buttons").innerHTML = "";
//Indicação do id e do estado da ignição clicada
$('#myDiv').append('<h3><b>Avaliação da Ignição</b></h3>');
$('#myDiv').append('<p>Estado:' + data.estado + '</p>')
$('#myDiv').append('<p>ID: ' + id + '</p>');
$.each(data.listaOcorrencias, function (o, ocorrencia) {
//é adicionado as imagens correspondente a cada ocorrencia pertecentes á ignição clicada
$('#myDiv').append('<img src="imagensFogos/' + ocorrencia.fotografia + '" onclick="openModal();" class="hover-shadow" style="width:200px; height:190px" hspace="4"/>');
});
//adição dos botões que alteram o estado da ignição
$('#buttons').append('<button id="aceite" style="background-color:#4CAF50;border: none;color: white;padding: 5px 12px;text-align: center;display: inline-block;font-size: 16px; box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19); margin:5px;">Aceitar</button>');
$('#buttons').append('<button id="recusado" style="background-color:#f44336;border: none;color: white;padding: 5px 12px;text-align: center;display: inline-block;font-size: 16px; box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);margin:5px;">Recusar</button>');
$('#buttons').append('<button id="concluido" style="background-color:#008CBA;border: none;color: white;padding: 5px 12px;text-align: center;display: inline-block;font-size: 16px; box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);margin:5px;" > Concluído</button>');
});
}
您可以在单击按钮元素时向其添加数据属性,然后检查哪些按钮具有这些属性
$(按钮)。单击(函数(){
$(this).attr(“单击数据”,true)
})
您可能希望在创建按钮时向按钮添加特定类,以使用上面的选择器将其作为目标,或者可以使用createElement
生成按钮,并使用addEventListener
添加事件
然后,只需找到具有该属性的按钮即可将jquery中所有单击的按钮作为目标:$(“按钮[单击的数据]”)
或者,要检查是否单击了按钮,可以使用
buttonElement.hasAttribute(“单击的数据”)
显示为aceite按钮添加单击处理程序的位置。e、 g:查看类似以下内容的代码:$('#aceite')。单击(function(){aceite.isclicked=true;})
(或者您没有,这就是问题所在)。您可以使用此方法。谢谢@UmairKhan,这正是我所需要的。
$.get("/api/IgnicoesAPI", function (data) {
console.log(data);
$.each(data, function (i, item) {
//More Code
var marker = new L.marker([item.latitude, item.longitude], { icon: ignicao })
.on('click', function onClick(e) {
var id = item.id;
clickedmarker = e.target;
if(aceite.isclicked == true)
{
//calls function
}
//Same for the other two buttons
modal.style.display = "block";
getData(id);
}).addTo(map);
//adiciona marador ao mapa
$('#json map').append(marker);
});// fim each
});//fim do get