Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript预先添加的内容在Safari中的锚定单击上不显示_Javascript_Jquery_Wordpress_Safari_Onclick - Fatal编程技术网

JavaScript预先添加的内容在Safari中的锚定单击上不显示

JavaScript预先添加的内容在Safari中的锚定单击上不显示,javascript,jquery,wordpress,safari,onclick,Javascript,Jquery,Wordpress,Safari,Onclick,我正在WordPress上做一个项目,利用主题定制器帮助其他人和我一起在网站上工作。我们正在动态加载很多内容和选项,比如Google字体,因此加载定制程序需要几秒钟才能完全加载(停留在管理页面上,几秒钟后进入/customize.php页面) 因此,我想添加一条简单的“Customizer Loading”消息,让用户知道发生了什么。在Chrome和Firefox中一切都很好,但Safari和Internet Explorer(据我在沙司中的测试所知)给我带来了问题 我正在使用以下JavaScr

我正在WordPress上做一个项目,利用主题定制器帮助其他人和我一起在网站上工作。我们正在动态加载很多内容和选项,比如Google字体,因此加载定制程序需要几秒钟才能完全加载(停留在管理页面上,几秒钟后进入/customize.php页面)

因此,我想添加一条简单的“Customizer Loading”消息,让用户知道发生了什么。在Chrome和Firefox中一切都很好,但Safari和Internet Explorer(据我在沙司中的测试所知)给我带来了问题

我正在使用以下JavaScript添加加载消息:

$('a[href=“customize.php”])。单击(函数(){
$('head')。前置('');
$('body')。前缀(“”);
});
块中,我只包含了我的样式,然后
就是我放置内容的地方

Safari中发生的事情(同样,从我所知道的)是,当点击
时,样式和内容被添加到DOM中(我可以在查看页面时看到它们),但它们实际上并不可见,而在Chrome和Firefox中却可见

如果我在链接上使用
e.preventDefault()
,加载消息显示得很好。其他事件,如
alert()
console.log()
注册良好,链接将按预期继续。只有添加到DOM中的新内容不可见


我不知道到底是什么原因导致了这一点,非常感谢任何帮助。我尝试在JSFIDLE中重新创建这个问题,但是我无法复制我在WordPress管理面板中得到的相同结果(如果您将
$('a[href=“customize.php”]”)更改为后端中的任何其他slug,如“themes.php”,则结果相同).

如果您的样式最初是现有加载样式表的一部分,那么它是否有效?我也尝试过,但同样无效。就像在Safari中一样,一旦注册了锚点击,就不会显示对页面的更改。另外一个奇怪的是,如果我在访问Customizer后回击,则会显示加载消息,我必须刷新以使其消失。您是否尝试过使用
e.preventDefault()
执行更改,然后按照链接
location.href='clicked link'。您也可以使用
setTimeout
在一定延迟后尝试跟踪链接,只是为了看看它给出了什么。它似乎在重定向页面,但却阻止了预先设置的内容显示,哈哈。这就像我只能有一个或另一个。如果您使用
setTimeout
方法延迟重定向过程,那么这几乎是不可能的。你试过这种方法吗?