自定义Twitter'推文按钮'回调不适用于第一次点击,但第二次工作

时间:2012-06-26 16:33:02

标签: php javascript twitter

标题本身就是一切。我正在尝试使用回调创建自定义推文按钮。我已粘贴下面的代码。我没有使用Twitter上的Twitter按钮代码,因为我在同一页面上有多个推文按钮,我想根据点击的按钮向每个回调传递一个唯一的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;
    }

1 个答案:

答案 0 :(得分:3)

因为在您点击按钮之前,您没有约束您的活动。您需要在twOpenPopup()函数之外绑定事件。