动态创建的复选框不能在移动Safari上工作

Dynamically created checkbox won't work on mobile Safari

本文关键字:移动 Safari 工作 不能 创建 复选框 动态      更新时间:2023-09-26

请查看:

http://jsfiddle.net/1f79fosh/

var div = document.createElement("div");
div.checkbox = div.appendChild(document.createElement("input"));
div.checkbox.type = "checkbox";
document.body.appendChild(div);

现在在桌面浏览器上试试。它会成功的。但是如果你在移动safari上尝试,当你点击它时,它会打开tweeter(?!),也不会改变状态(没有显示复选符号)。

我做错了什么?

我无法在Safari中轻松测试,但请尝试:

var div = document.createElement("div");
var inp = document.createElement("input");
inp.type = "checkbox";
div.appendChild(inp);
document.body.appendChild(div);

解释:在原始代码的第二行中,对新创建的复选框控件的引用实际上被分配给分隔符(div)元素的属性。这可能导致Safari出现错误。