Mac Safari(以及iPad Safari)的一个可怕奇怪的问题 -
我正在整理一个表单,允许用户指定文件输入或文本字符串,但不能同时指定两者。因此,有一个与每个输入相关的单选按钮;表单元素开始禁用,并且,当单击其中一个单选按钮时,会运行一些jQuery并调整禁用状态以让用户选择文件或输入一些文本。这在Mac Chrome,Firefox和Opera中都能正常工作,甚至可以说是IE 9。
在Safari中没有这样的运气:
如果我点击应该启用文件字段的单选按钮,虽然console.log()表明已删除disabled属性,但似乎没有任何事情发生。
如果我点击应启用文本字段的单选按钮,则没有任何反应,但文件字段小部件(“选择...”按钮)平展消失。
更多在两个单选按钮之间来回点击不会做任何事情。
HOWEVER ,如果在点击任何内容之前,我在表单区域执行“检查元素”,一切正常。此外,如果我首先点击链接字段的单选按钮,这样文件字段就会消失,然后执行“检查元素”,表单会重新绘制,显示按钮和字段的正确视图,一切正常。
GAK。这背后有一大堆代码,所以我可能会或者可能无法将它变成一个小提琴。但我目前的信念是,我已经以某种方式挖掘了一些非常模糊的Safari漏洞,并且必须采取措施来挖掘我的出路。我想我在这里寻找同情或其他什么,并看看过去是否还有其他人偶然发现了类似的东西。任何接受者? :)
答案 0 :(得分:1)
我有一个奇怪的Safari错误,类似于此一段时间。
在我的情况下,解决方案是使用jQuery触发元素上的某些东西 - 这可能会让它重点/导致它重绘。在我的情况下如下:
jQuery(el).css("border", "none");
做了这个伎俩。
元素首先没有边框,只是导致元素被浏览器重绘/填充。