此页面(http://buttonspace.com)正在使用顶部的Google +1按钮。
文档: https://developers.google.com/+/web/+1button/
直到大约2个月前,当我假设谷歌更新了他们按钮的代码时,它工作正常。为什么这个jQuery click()代码没有被解雇?
<script>
$("#g-plusone").click(function(){
console.log("Clicked!");
alert("Clicked!");
});
</script>
答案 0 :(得分:1)
看来你的选择器错了。我在LI元素上看到.google-plus-one
。或者,里面还有ID为#___plusone_0
的DIV
,也许这就是你要找的东西。
试试这样:
<script>
$(".google-plus-one").click(function(){
console.log("Clicked!");
alert("Clicked!");
});
</script>
尽管如此,您仍然要将事件附加到包含按钮的iframe的LI(或DIV),而不是按钮本身。由于同源策略,您无法访问Iframe内的按钮。
答案 1 :(得分:0)
你需要的是:
$("body").contents().find(".google-plus-one").click()
找到iframe中的内容并对其执行某些操作。您之前所做的事情是要求标记最初位于页面上,以便将事件绑定到元素。您需要一种方法来在将元素渲染到DOM之后选择该元素。
答案 2 :(得分:0)
所以我的解决方法是使用图像来表示按钮,然后使用超链接打开G +帖子的新窗口。通过绕过Google的API和iframe,我可以捕获点击事件。
<li class="google-plus-one">
<a href="https://plus.google.com/share?app=110&url=<?php echo $url; ?>" target="_blank"><img src="/google_plus.png" alt="Google +1"></a>
</li>
<script>
$(".google-plus-one").click(function(){
console.log("clicked!");
});
</script>