Я хочу добавить триггер события в раскрывающемся списке <select>. Пример ( jsFiddle ):
<select>
$( document ).ready(function() { $('.lorem').click(function() { alert('ipsum'); }); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select> <option class="lorem">1</option> <option class="lorem">2</option> </select>
В Firefox, когда я нажимаю на него, он срабатывает нормально. Но на webkit (Chrome / Safari и т. Д.) Он не работает. Зачем?
Вместо этого вы можете использовать событие change для элемента select, а затем проверить, где выбранная опция имеет класс lorem, например:
change
lorem
$(document).ready(function() { $('select').on('change', function() { if ($("option:selected", this).hasClass('lorem')) { alert('ipsum'); } }); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select> <option class="lorem">1</option> <option class="lorem">2</option> <option class="foo">3</option> </select>
Если вы используете это для обнаружения изменений ввода, вы можете использовать .change():
.change()
$( document ).ready(function() { $("select").change(function(e) { console.log($("select").val()); }); });