全部,
我遇到了一些看起来像 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 事件):
案例 2(tranform3d,onchange 事件在 Chrome 和 IE 中触发,但在 Firefox 中不触发):
我做错了什么,还是这是一个错误?
提前致谢!
最佳答案
这对我有用
$('#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/