为什么 mac 浏览器上的选择框没有响应单击事件
Why does select box on mac chrome doesn't respond to click event?
可能的重复项:
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/
更新
我需要在单击事件中使用,而不是在更改时使用。
改用 change
事件:
$('.social-option select').on('change', function () {
alert('bla');
});
从文档中:
当元素的值更改时,会将更改事件发送到该元素。这 事件仅限于元素、框和 元素。对于选择框、复选框和单选按钮,事件 当用户使用鼠标进行选择时立即触发, 但对于其他元素类型,事件被推迟到 元素失去焦点。
IIRC,click
事件适用于 Firefox 中的 <option>
,但在 Chrome 中不起作用。最好、最受支持的事件是 change
。
要获取所选选项的值,只需像使用任何其他输入一样使用 .val()
:
$('.social-option select').on('change', function () {
alert($(this).val());
});
代替"click"事件,使用"change",如
$(".social-option select").change(function(){
alert('bla');
});
堆栈溢出引用
相关文章:
- 基于类的单击事件在10行之后不响应-数据表
- 单击按钮后的无响应元素
- 单击链接时折叠响应式导航
- 必须单击两次才能得到一个响应
- isHidden函数要求我在应用响应显示时单击两次
- 通过响应按钮单击更改表标题,其中行使用 JSTL for 循环更新
- 如何使我的数字刻度对滚动和单击做出响应
- 引导两个响应菜单-单击另一个菜单按钮时折叠一个菜单
- 为什么 mac 浏览器上的选择框没有响应单击事件
- 单击事件在响应菜单中不起作用
- 如何自动单击 AJAX 响应处理程序中自动生成的链接
- Fancybox在第二次单击时响应,并且不会切换到下一个图像
- 如何在单击后获取整个对象作为响应
- 在 href 单击时返回另一个函数的响应
- 在单击事件时更新主干模型,并在更改位置之前等待响应
- 响应式 jQuery 不起作用:单击宽度低于 768px 并将鼠标悬停在 768px 上方
- 如何在单击单元格时从表中获取共同响应的 JavaScript 值
- 如何创建一个响应单击或输入按下的 javascript 函数
- 使用VueJS 2.0和vue-mdl菜单组件,如何响应单击事件?
- 正在响应单击复选框列表中的ListItems