答案 0 :(得分:4)
我能够重现这个问题。问题是,每当您尝试删除其更改事件上的选择框时,iOS10都无法正确解除对选择框的绑定。要解决此问题,您需要将代码更改事件代码放在具有一些超时值的setTimeout中。它没有使用零超时值。
以下是对您的代码的修复:
<script>
$( "#test" ).change(function() {
setTimeout( function() {
$("#test").remove();
var combo = $("<select></select>").attr("id", "test2").attr("name", "test");
combo.append("<option>New One</option>");
$("#App").append(combo);
}, 50);
});
$("#click").click(function(){
$("#App").remove();
})
</script>
答案 1 :(得分:0)
一个简单的解决方案是稍微改变代码,所以不要重新生成整个select元素,而只是重新生成内部的选项元素。
答案 2 :(得分:0)
我今天偶然发现了这个错误。就像Gautam在他的回答中所说的那样,事件在被移除的元素之前不会解开。 我的解决方案blur the element before removing it。
$("#test").blur().remove();