【问题标题】:Custom twitter 'Tweet Button' callback does not work for first click but works the second time自定义 twitter 'Tweet Button' 回调在第一次点击时不起作用,但在第二次点击时起作用
【发布时间】:2013-02-05 02:10:16
【问题描述】:

一切都在标题本身。我正在尝试创建一个带有回调的自定义推文按钮。我已经粘贴了下面的代码。我没有使用来自 twitter 的 Twitter Button 代码,因为我在同一页面上有多个推文按钮,并且我想根据单击的按钮将唯一的 id 传递给每个回调。

第一次单击按钮时,弹出窗口打开推文,推文后,窗口关闭但不调用回调函数。第二次点击相同的按钮(没有重新加载页面),回调函数被调用!我知道为什么会发生这种情况以及如何纠正这种情况以在第一次点击时起作用?

谢谢大家。

<a href="#" target="_blank" id="twtShareLink" 
               onclick="return twOpenPopup('<URL>','<TEXT>','<UNIQUE_ID>')"
               >Tweet It!</a>

JS:

function twOpenPopup(url,text,unique_id){
        twttr.events.bind('tweet',function(event){
               alert('Here');
               //Code that uses unique_id here;
        });
        var twturl="https://twitter.com/intent/tweet?url="+encodeURIComponent(url) + 
            "&count=none&source=tweetbutton&text=" + encodeURIComponent(text) + "&original_referer=" + encodeURIComponent('<?= $_SERVER['HTTP_HOST'] ?>');
        document.getElementById("twtShareLink").href = twturl;
        return true;
    }

【问题讨论】:

    标签: php javascript twitter


    【解决方案1】:

    因为在单击按钮之前您不会绑定事件。需要在twOpenPopup()函数外绑定事件。

    【讨论】:

    • 我能有多蠢……不知什么原因我把它复制到里面然后忘记了绑定事件在函数里面!感谢您指出这一点。
    猜你喜欢
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多