javascript - Firefox:当使用 transform3d 转换父 div 时,下拉菜单(<select> 元素)不注册 "change"事件?

标签 javascript jquery firefox css css-transitions

全部,

我遇到了一些看起来像 Firefox 中的错误的东西。

我有一个包含 SELECT 元素的 DIV 元素:

<div id="wrapper">
    <select id="ddm">
        <option value="a">AAA</option>
        <option value="b">BBB</option>
        <option value="c">CCC</option>
    </select>
</div>

DIV 然后使用 transform3d 进行转换(实际上,只使用 translateX,但无论哪种方式我都得到相同的结果)。

#wrapper {
    background: yellow;
    height: 100px;
    width: 200px;
    -moz-transform: translateX(200px);
    -webkit-transform: translateX(200px);
    transform: translateX(200px);
}

DIV 转换后,更改SELECT 元素似乎不会注册onchange 事件。 (从技术上讲,我使用的是 jQuery 和 .change() 函数,但这似乎无关紧要):

$('#ddm').change(function (e) {
    alert ('Select changed!');
});

即永远不会触发警报。

这里有一个 JSFiddle 来演示:

案例 1(没有 tranform3d,触发了 onchange 事件):

http://jsfiddle.net/b5fNb/8/

案例 2(tranform3d,onchange 事件在 Chrome 和 IE 中触发,但在 Firefox 中不触发):

http://jsfiddle.net/b5fNb/12/

我做错了什么,还是这是一个错误?

提前致谢!

最佳答案

这对我有用

$('#ddm').change(function (e) {
alert ('Select changed!');
}).on("keyup",function(e) {
$(this).trigger("change");
});

关于javascript - Firefox:当使用 transform3d 转换父 div 时,下拉菜单(<select> 元素)不注册 "change"事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14220101/

相关文章:

javascript - 如何检索具有编号名称的 JSON 对象键

javascript - 仅 div 内的动画

javascript - 如何在 jest 测试文件中需要 jQuery 插件?

javascript - .focus 在 firefox 中的问题

javascript - 为什么 page-mod 模块中的 onAttach 没有在 Firefox add-on sdk 中执行?

javascript - Canvas 最大化错误?

javascript - 在 Javascript 中设置动画时的默认样式属性

javascript - 读取 DataContext 对象的数据

javascript - 在 Jquery 的 HTML 页面的第 4 段之后出现一个链接

jquery ajax请求仅在firefox中有效