为什么 mac chrome 上的选择框不响应点击事件? [复制]

2023-11-23

可能的重复:
JQuery 函数不适用于 Mac 上的 Chrome,但适用于 Win 7 上的 Chrome 和所有其他浏览器

我有一个选择选项列表

<div class="social-option">
    <select name="hex_theme_options[social-service-1]">
        <option selected="selected" value="facebook">facebook</option>
        <option value="0"></option>
        <option value="twitter">twitter</option>
        <option value="linkedin">linkedin</option>
        <option value="e-mail">e-mail</option>
        <option value="phone">phone</option>
        <option value="instagram">instagram</option>
        <option value="flickr">flickr</option>
        <option value="dribbble">dribbble</option>
        <option value="skype">skype</option>
        <option value="picasa">picasa</option>
        <option value="google-plus">google-plus</option>
        <option value="forrst">forrst</option>
    </select>
</div>

为什么这在 PC 上有效但在 mac 上不行?

$('.social-option select').on('click', function () {
    alert('bla');
});

http://jsfiddle.net/4BBcZ/

UPDATE
我需要使用on click事件,不是改变时.


Use the change事件代替:

$('.social-option select').on('change', function () {
    alert('bla');
});

From 文档:

当元素的值发生变化时,更改事件会发送到元素。这 事件仅限于元素、盒子和 元素。对于选择框、复选框和单选按钮,该事件 当用户用鼠标进行选择时立即触发, 但对于其他元素类型,事件会被推迟到 元素失去焦点。

IIRC,click活动适用于<option>在 Firefox 中可以使用,但在 Chrome 中不起作用。最好、最受支持的活动是change.

要获取所选选项的值,只需使用.val()就像使用任何其他输入一样:

$('.social-option select').on('change', function () {
    alert($(this).val());
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 mac chrome 上的选择框不响应点击事件? [复制] 的相关文章

随机推荐