为什么mac chrome上的选择框不响应点击事件? [英] Why does select box on mac chrome doesn't respond to click event?

查看:267
本文介绍了为什么mac chrome上的选择框不响应点击事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


可能存在重复:

/ b>

我有一个select - option列表

 < div class =social-option> 
< select name =hex_theme_options [social-service-1]>
< option selected =selectedvalue =facebook> facebook< / option>
< option value =0>< / option>
< option value =twitter> twitter< / option>
< option value =linkedin> linkedin< / option>
< option value =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上使用?
$ b'$

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

http://jsfiddle.net/4BBcZ/



更新

我需要使用点击事件,而不是更改 使用 change 事件代替:

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

文档


当元素值发生变化时,change事件被发送到元素。此
事件仅限于元素,框和
元素。对于选择框,复选框和单选按钮,当用户使用鼠标
进行选择时,会立即触发事件
,但对于其他元素类型,事件将延迟到
元素失去焦点。


IIRC,点击事件适用于< option> ,但在Chrome中无法使用。最好,最受支持的事件是 change



要获得所选选项的值,只需使用 .val()与其他输入一样:

  $(' ('change',function(){
alert($(this).val());
});


Possible Duplicate:
JQuery function doesn't work on Chrome on Mac, but works on Chrome on Win 7 and all other browsers

I have a select - option list

<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>

why does this works on a PC but not on mac?

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

http://jsfiddle.net/4BBcZ/

UPDATE
I need to use on click event, not on change.

解决方案

Use the change event instead:

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

From the documentation:

The change event is sent to an element when its value changes. This event is limited to elements, boxes and elements. For select boxes, checkboxes, and radio buttons, the event is fired immediately when the user makes a selection with the mouse, but for the other element types the event is deferred until the element loses focus.

IIRC, the click event works for <option>s in Firefox, however does not work in Chrome. The best, most supported event is change.

To get the value of the option selected, simply use .val() as you would with any other input:

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

这篇关于为什么mac chrome上的选择框不响应点击事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆