我正在构建一个登录/加入表单,其中包括一次输入一个字段(在模式样式框内),这很快会被另一个字段替换。
这一切都完美无缺,直到我在模态框外面添加我的代码,如下所示
$(document).ready(function(){
$("#loginJoinBackground").click(function(){
$("#loginJoinBackground").fadeOut(300,function(){});
});
$("#logins-box").click(function(){
event.stopPropagation();
});
});
现在,它也可以正常运行。 问题是当我有代码时,它会阻止其他函数触发。有什么明显的东西我不见了吗?
编辑:我正在使用流星,所以也许可能会对事物产生不同的影响,由于上述原因导致无法触发的代码如下:
$(document).on("click", "#loginB", function(){
logMeIn($("#logU").val(), "");
})
function logMeIn(emailVar, passwordVar = ""){
Meteor.loginWithPassword(emailVar, passwordVar, function(err){
console.log(err.reason);
if(err.reason == "Incorrect password"){
event.preventDefault();
$("#spanEmailLogin").hide("slide", { direction: "left" }, 200);
$("#spanPasswordLogin").show("slide", { direction: "right" }, 200);
$("#logP").focus();
}
else{
event.preventDefault();
$("#spanEmailLogin").hide("slide", { direction: "left" }, 200);
$("#spanPasswordLoginForm").show("slide", { direction: "right" }, 200);
$("#passwordForm").focus();
}
});
}
答案 0 :(得分:0)
您是否尝试调用preventDefault()
方法而不是stopPropagation()
?
$(document).ready(function(){
$("#loginJoinBackground").click(function(){
$("#loginJoinBackground").fadeOut(300,function(){});
});
$("#logins-box").click(function(e){
e.preventDefault()
//event.stopPropagation();
});
});
答案 1 :(得分:0)
$(document).ready(function(){
$("#loginJoinBackground").click(function(){
$("#loginJoinBackground").fadeOut(300,function(){}); });
$("#logins-box").click(function(event){
event.stopPropagation();
});
});
可能 工作我不确定
答案 2 :(得分:0)
click
事件无需jquery。您应该使用Template.events
试试这个让我知道:
Template.youTemplate.events({
'click #loginB': function (e,t) {
var emailVar = t.find('#logU').value
var passwordVar = t.find('#logP').value
Meteor.loginWithPassword(emailVar, passwordVar, function(err){
console.log(err.reason);
if(err.reason == "Incorrect password"){
e.preventDefault();
$("#spanEmailLogin").hide("slide", { direction: "left" }, 200);
$("#spanPasswordLogin").show("slide", { direction: "right" }, 200);
$("#logP").focus();
} else{
e.preventDefault();
$("#spanEmailLogin").hide("slide", { direction: "left" }, 200);
$("#spanPasswordLoginForm").show("slide", { direction: "right" }, 200);
$("#passwordForm").focus();
}
});
}
});