Javascript 单击时onclick事件未运行命名函数
我期待FBLogin onclick运行下面的查询,但没有发生任何事情。我错过了什么,这意味着它没有按预期工作 我相信这是我的onlick事件的问题,而不是函数本身的问题Javascript 单击时onclick事件未运行命名函数,javascript,Javascript,我期待FBLogin onclick运行下面的查询,但没有发生任何事情。我错过了什么,这意味着它没有按预期工作 我相信这是我的onlick事件的问题,而不是函数本身的问题 <a href="#" onclick="FBLogin();" role="button" class="btn btn-successFbLi btn-lg fa fa-facebook"</i> Sign in with Facebook</a></button><br
<a href="#" onclick="FBLogin();"
role="button" class="btn btn-successFbLi btn-lg fa fa-facebook"</i>
Sign in with Facebook</a></button><br>
您提供的代码中存在错误
- 错误的锚标签
- 额外的结束标记(
,
)
- 已删除
属性onclick
- 在javascript中添加了事件侦听器
函数FBLogin(){
//Fb应用程序信息//
警惕(“工作”);
window.fbAsyninit=函数(){
Parse.FacebookUtils.init({
appId:'xxxxxxxxx',
xfbml:是的,
版本:“v2.3”
});
//此处的其余功能等//
}
}
document.getElementById('login')。addEventListener(“单击”,FBLogin)代码>
这与java有什么关系吗/您发布的代码不会起任何作用-您如何知道FBLogin没有被执行?“但什么都没有发生”:这是否意味着没有调用事件处理程序?你怎么知道的?你做了什么来调试这个问题?我猜处理程序是在执行了fbAsyncint
之后调用的。@Dano007-您一直在做这个断言,但我们问您是如何建立这个断言的。为什么您认为它没有运行?我的意思是,查看fbAsyncint
并尝试调用它的进程已经运行。是否要解释内联事件处理程序不工作的原因?应该避免使用内联事件处理程序。来源:。在阅读了这个答案之后,我停止使用内联事件处理程序。确实应该避免使用它们,但它们不是所有问题的根源。你说OP需要改变,但我不明白为什么。盲目地改变现状,希望它能解决问题,这不是一种合理的做法。如您所见,您的fiddle也可以与内联事件处理程序配合使用:。因此,当然没有必要改变这一点。我在回答中改变了陈述。我同意守则不应盲目更改。只是当我修改OP的代码时,我使用了addEventListener
方法,因为它使代码变得更好。
function FBLogin() {
//Fb app information//
window.fbAsyncInit = function() {
Parse.FacebookUtils.init({
appId : 'xxxxxxxxx',
xfbml : true,
version : 'v2.3'
});
//rest of function here etc//
}