<option>上的事件触发器在Webkit上不起作用

时间:2019-03-07 14:12:18

标签: javascript jquery webkit eventtrigger

我想在post_max_size下拉列表中添加事件触发器。示例(jsFiddle):

<select>
$( document ).ready(function() {
    $('.lorem').click(function() {
        alert('ipsum');
    });
});

使用Firefox,当我单击它时,它会正常触发。但是在webkit(Chrome / Safari等)上,它不起作用。为什么?

2 个答案:

答案 0 :(得分:1)

如果使用它来检测输入更改,则可以使用.change()

$( document ).ready(function() {

  $("select").change(function(e) {
    console.log($("select").val());
  });
});
<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>

答案 1 :(得分:1)

您可以在选择元素上使用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>