Javascript 双击Facebook共享按钮

Javascript 双击Facebook共享按钮,javascript,jquery,html,facebook,onclick,Javascript,Jquery,Html,Facebook,Onclick,我有一个按钮,可以在Facebook上共享项目中的web内容,但当我单击它时,它不起作用。该按钮仅在用户双击时起作用…:( 我的代码: Html: <button> <img src = "images/socialButtons/56/facebook.png" id = "Item-A" onclick="shareFb(this.id)"> </button> function shareOnFacebook(e, id){ e.preve

我有一个按钮,可以在Facebook上共享项目中的web内容,但当我单击它时,它不起作用。该按钮仅在用户双击时起作用…:(

我的代码:

Html:

 <button>
    <img src = "images/socialButtons/56/facebook.png" id = "Item-A" onclick="shareFb(this.id)">
 </button>
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上实现了以下脚本(按钮在此文件上)


window.fbAsyninit=函数(){
FB.init({
appId:“#myFacebookAppIdNumber”,
xfbml:是的,
版本:“v2.5”
});
};
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/sdk.js”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
我真的很感激任何帮助;)


非常感谢。

它需要两次单击,因为您在单击后会附加一个单击事件。为什么这样做?摆脱内联点击

因此,添加一个公共类:

<img class="share" id="foo" src="bar.gif" />
上述代码需要在文档末尾或文档就绪时运行。您也可以使用事件委派来只添加一个事件处理程序

$(document).on("click", ".share", function (e) {
    shareOnFacebook(e, this.id);
});

不知道为什么jquery需要附加一个点击事件的简单任务,但他也这么做了,所以…答案绝对正确:)顺便说一句,你应该添加FB.ui只能在直接用户交互时打开,否则它将在浏览器中被阻止。lol…修复了打字错误;)-人们太频繁地使用jquery方式,这真是令人伤心:(旁注:提要对话框没有消息参数
$(".share").on("click", function (e) {
    shareOnFacebook(e, this.id);
});
$(document).on("click", ".share", function (e) {
    shareOnFacebook(e, this.id);
});