Я нуждаюсь в том, чтобы бросить событие .click, когда кликнут в каком-то option select.
Я имею в виду что-то как это:
$("select.diat > option").click(function(){alert("hola");});
Я основался на этой документации: https://api.jquery.com / child-selector/. Там они делают что-то, как что я хочу, только, чем со списком.
Какая-то идея, чтобы способствовать тому, чтобы это функционировало?
Событие должен быть ассоциируемым с <select>
отец, не с детьми.
Событие для, когда меняется стоимость select, - .change()
, которые tambiГ©n будут тебе позволять захватывать изменения, реализованные с клавиатурой (немного, что не взрывается с .click()
).
$("select.diat").change(function(){
console.log("Se seleccionó: " , $(this).val());
});
<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- HTML -->
<select class="diat">
<option value="Lunes">Lunes</option>
<option value="Martes">Martes</option>
<option value="Miercoles">Miércoles</option>
<option value="Jueves">Jueves</option>
<option value="Viernes">Viernes</option>
<option value="Sabado">Sábado</option>
<option value="Domingo">Domingo</option>
</select>
Который я узнал, событие click
оно не функционирует для этикетки option
(из-за прошлого опыта, поскольку они появляются option
завись от каждого браузера и у него есть достаточно прием), хотя он мог бы быть неправильным.
То, что ты можешь делать, состоит в том, чтобы контролировать событие click
select
в себе, но это будет представлять какие-то проблемы: не только он бросится, когда нажмут на выбор, но также когда нажимают на список для того, чтобы он развернулся (и возможно, что это не что-то, что ты хотел бы). Другая проблема состоит в том, что, если пользователь использует клавиатуру вместо мыши, это событие не взорвется.
Другой выбор состоял бы в том, чтобы контролировать событие change
также select
, но у этого выбора также есть проблема: если нажимают на тот же выбор, который уже выбран, он совсем не бросается. Кроме того, также он бросился бы даже, если не нажимают на выбор (например, если пользователь использует клавиатуру, чтобы менять выборы)
Здесь я оставляю тебе выбор слушая событие click
select
:
$(".diat").on("click", function() {
console.log("clicked");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select class="diat">
<option value="Lunes">Lunes</option>
<option value="Martes">Martes</option>
<option value="Miercoles">Miércoles</option>
<option value="Jueves">Jueves</option>
<option value="Viernes">Viernes</option>
<option value="Sabado">Sábado</option>
<option value="Domingo">Domingo</option>
</select>
.click()
(и голосовать за +1 tambi и # 233; n) – Mariano 03.11.2016, 07:24