我想在" Tweet"上触发点击回调js功能。我的代码是:
<a href="https://twitter.com/share" class="twitter-share-button" data-url="https://twitter.com/share" data-via="josephjohnbless">Tweet</a>
<script>
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 = "https://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>
<script>
twttr.ready(function (twttr) {
twttr.events.bind('click', function (event) { alert('yes'); });
});
</script>
Uncaught TypeError: Cannot read property 'ready' of undefined
有一个twttr.ready()
。我在https://stackoverflow.com/a/24698352/1972266看到这是一个有效的解决方案,但正如我所说,它对我不起作用。
编辑: 我用这种方式解决了我的问题:1。我改变了这段代码:
<script>
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 = "https://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>
使用:
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
我正在调用此代码:
twttr.ready(function(twttr){ twttr.events.bind(&#39;点击&#39;,功能(事件){alert(&#39; yes&#39;);}); });在我的文件中的错误位置。我在父视图(我的应用程序是ASP.NET MVC)上调用它,而不是在部分视图中,我有<a href="https://twitter.com/share" class="twitter-share-button" data-url="https://twitter.com/share" data-via="josephjohnbless">Tweet</a>
和<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
。就是这样。