我的网站上有以下代码,当它访问Twitter的API时会产生自己的标记。
我希望在onClick
上调用一个JavaScript函数,但是,但是随着标记的改变,它似乎并不像在锚点中添加onClick
那么简单。
如何捕获“推文”按钮的点击?
<div class="social_button twitter_button">
<a href="https://twitter.com/share" class="twitter-share-button" data-count="horizontal">
Tweet
</a>
<script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>
</div>
答案 0 :(得分:7)
您无法处理此元素上的点击事件,因为它位于iFrame中,但是twitter会让您有机会将事件绑定到按钮。
示例:http://jsfiddle.net/ZwHBf/2/ 文档:https://dev.twitter.com/docs/intents/events
代码: HTML:
<div class="social_button twitter_button">
<div id="foo">
<a href="https://google.com" class="twitter-share-button" data-count="horizontal">
Tweet
</a>
</div>
<script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>
<script type="text/javascript" charset="utf-8">
window.twttr = (function (d, s, id) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s);
js.id = id;
js.src = "//platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = {
_e: [],
ready: function (f) {
t._e.push(f)
}
});
}(document, "script", "twitter-wjs"));
</script>
</div>
JS:
twttr.events.bind('click', function(event) {
console.log('clicked');
});
答案 1 :(得分:0)
向您的网站添加自定义Twitter按钮比您想象的要容易得多。
<a href="http://twitter.com/share">Tweet</a>
是的,真的,这就是全部。给你的链接一些设计爱和tada!你自己的自定义Twitter按钮。
在弹出窗口中打开Twitter Share Box
要将Twitter Share Box显示为弹出窗口,只需添加一些javascript行即可在新窗口中打开该链接。这是使用jQuery的一个例子:
<a class="twitter popup" href="http://twitter.com/share">Tweet</a>
<script>
$('.popup').click(function(event) {
var width = 575,
height = 400,
left = ($(window).width() - width) / 2,
top = ($(window).height() - height) / 2,
url = this.href,
opts = 'status=1' +
',width=' + width +
',height=' + height +
',top=' + top +
',left=' + left;
window.open(url, 'twitter', opts);
return false;
});
</script>
注意:这只是一个例子。您可能希望将javascript代码放在.js文件中并在文档就绪时调用它。
$(document).ready(function() {
$('.popup').click(function(event) {
// and so on...
}
});
为推文设置默认消息
您可以为推文设置默认文本,为链接添加文本参数:
<a class="twitter popup" href="http://twitter.com/share?text=This%20is%20so%20easy">Tweet</a>
现在,当您的用户点击您的推文链接时,会显示消息&#34;这很简单&#34;默认情况下会出现在推文框中。 more..
答案 2 :(得分:-4)
您可以尝试使用jquery ...
<script>
$(document).ready(function(){
$(".twitter-share-button").on("click",function(){
// do something
});
});
</script>
我怀疑即使标记发生变化,课程也会改变。