我认为这最像是与Safari本身有关的问题:
这种一点点的代码和平性在Firefox中有效,但在Safari中无效:
$('.pinterest-button').click(function() {
$('.pinterest-button').hide();
$('#pin1 a img').click();
setTimeout("$('.pinterest-button').show();", 1000);
});
如果单击了pinterest按钮,它将为该图片创建一个点击事件:
<div id="pin1" class="gallery span24 offset6">
<a class="span24" alt="" title="bild" href="javascript:void((function()%7Bvar%20e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','http://assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e)%7D)());">
<img class="gallery-img" src="http://www.goldentree.de/wordpress/assets/bild.jpg">
</a>
</div>
如果我单击Safari中的按钮,它将被隐藏并且页面滚动到顶部,因此单击本身可以进行,但是我认为$('#pin1 a img')。click();应该触发图像href中的代码不起作用。我发现其他人也遇到同样的问题,但是他们的解决方案都不适合我,因此我不确定它的click()是否真的不起作用。我也不确定,是什么使我的浏览器滚动到顶部,因为我认为这是由pinterest overlay-thing造成的。哦,是的:直接单击图片即可。
此问题可能是由两件事引起的
1。当您附加侦听器时,DOM还没有准备好] 2。您的HTML代码是动态添加的 第一种情况的解决方案是将代码放在ready块下$(document).ready(function(){
$('.pinterest-button').click(function() {
$('.pinterest-button').hide();
$('#pin1 a img').click();
setTimeout("$('.pinterest-button').show();", 1000);
});
});
第二种情况
的解决方案是使侦听器实时进行任何更改$(document).ready(function(){ $('.pinterest-button').on('click',function() { $('.pinterest-button').hide(); $('#pin1 a img').click(); setTimeout("$('.pinterest-button').show();", 1000); }); });
[如果需要,将点击添加到图像侦听器] >>
我希望这会有所帮助
我认为这最像是与Safari本身有关的问题:
我认为这最像是与Safari本身有关的问题: