Javascript 双击Facebook共享按钮
我有一个按钮,可以在Facebook上共享项目中的web内容,但当我单击它时,它不起作用。该按钮仅在用户双击时起作用…:( 我的代码: Html: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
<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);
});