我有一个按钮在项目上分享Facebook上的网页内容,当我点击它时不起作用。当用户双击时,该按钮才起作用...... :(
我的代码:
HTML
<button>
<img src = "images/socialButtons/56/facebook.png" id = "Item-A" onclick="shareFb(this.id)">
</button>
JavaScript的:
function shareOnFacebook(e, id){
e.preventDefault();
FB.ui(
{
method: 'feed',
name: '',
link: 'http://anurl.com/'' + id + '.jpg',
picture: 'http://anurl.com/'+ id +'.jpg',
caption: '',
description: "",
message: ""
}
);
}
function shareFb(id){
$('#'+ id +'').click(function(e){
shareOnFacebook(e, id);
});
}
我在index.html上实现了以下脚本(该按钮位于此文件中)
<!-- Facebook SDK JavaScript -->
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '#myFacebookAppIdNumber',
xfbml : true,
version : 'v2.5'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
我非常感谢任何帮助;)
非常感谢。
答案 0 :(得分:1)
只需单击两次,因为您在单击后附加了单击事件。为什么这样?摆脱内联点击。
所以添加一个公共类:
<img class="share" id="foo" src="bar.gif" />
将事件附加到班级
$(".share").on("click", function (e) {
shareOnFacebook(e, this.id);
});
上面的代码需要在文档末尾或文档就绪时运行。您也可以使用事件委派来添加一个事件处理程序。
$(document).on("click", ".share", function (e) {
shareOnFacebook(e, this.id);
});