5

我的网站上有以下代码,当它访问 Twitter 的 API 时会生成它自己的标记。

我希望在此过程中调用一个 JavaScript 函数onClick,但是随着标记的变化,它似乎并不像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>
4

2 回答 2

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');
});​
于 2012-08-01T10:30:05.587 回答
0

向您的网站添加自定义 Twitter 按钮比您想象的要容易得多。

<a href="http://twitter.com/share">Tweet</a>

是的,真的,仅此而已。给你的链接一些设计的爱和tada!您自己的自定义 Twitter 按钮。

在弹出窗口中打开 Twitter 共享框

要将 Twitter 共享框显示为弹出窗口,只需添加几行 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>

现在,当您的用户单击您的推文链接时,默认情况下,推文框中将显示“这很容易”的消息。 更多的..

于 2016-01-12T09:37:11.440 回答