所有
我遇到的东西看起来像是Firefox中的一个bug。
我有一个包含DIV
元素的SELECT
元素:
<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,在Chrome和IE中触发的onchange事件,但不是Firefox):
我做错了什么,或者这是一个错误?
提前致谢!
答案 0 :(得分:1)
这对我有用
$('#ddm').change(function (e) {
alert ('Select changed!');
}).on("keyup",function(e) {
$(this).trigger("change");
});
答案 1 :(得分:0)