jQuery在注册单击时启动函数
我有一个非常简单的代码,绑定一个点击按钮。 但是,当click函数被绑定时,会调用它内部的回调函数jQuery在注册单击时启动函数,jquery,Jquery,我有一个非常简单的代码,绑定一个点击按钮。 但是,当click函数被绑定时,会调用它内部的回调函数 var showBtn = function (step) { switch (step) { case '#step-one': $('#btnPatientAnonyme').show(); $(".btnPopUp > input[data-type='prev']").hide(); $(".btnPopUp > inpu
var showBtn = function (step) {
switch (step) {
case '#step-one':
$('#btnPatientAnonyme').show();
$(".btnPopUp > input[data-type='prev']").hide();
$(".btnPopUp > input[data-type='next']").click(showStep('#step-two'));
break;
}
};
我经常使用jQuery,在注册步骤中不启动另一个绑定单击。在本例中,当我要求执行第一步时,会显示第二步,我的需要是仅当用户单击按钮时才显示它
那么为什么会有这种奇怪的行为呢
感谢您的帮助。您在执行绑定时正在调用函数:
showStep(“#步骤二”)
如果要向方法传递附加信息,则需要使用$.trigger
。这将允许您调用click事件并传入额外的选择器:
$(".btnPopUp > input[data-type='next']").trigger("click", "#step-two");
您需要已经将单击事件绑定到弹出窗口
因此,完整代码如下所示:
$(".btnPopUp > input[data-type='next']").click(showStep);
var showBtn = function (step) {
switch (step) {
case '#step-one':
$('#btnPatientAnonyme').show();
$(".btnPopUp > input[data-type='prev']").hide();
$(".btnPopUp > input[data-type='next']").trigger("click", "#step-two");
break;
}
};
function showStep(event, selector) { ... }
看起来您可能希望有条件地附加带有参数的事件,而不是触发它。我看错了操作。您可以使用
$附加其他信息“进入”。在上:
$(".btnPopUp > input[data-type='next']").on("click", null, "#step-two", showStep);
function showStep(event) { ... }; // selector would be in event.data
下面是一个使用$的示例。在
上,是的,但如果在开关情况下触发该函数,则会出现相同的行为。那么,如何在不触发函数的情况下注册额外的参数呢?我不知道我是否理解你的意思。我更新了我的答案,更好地解释了代码的结构。需要绑定click事件才能触发它。绑定后,可以使用$.trigger
强制触发事件,并发送额外信息。更新还包括一个提琴示例。您的示例很好,但我需要在切换情况下“注册”一个“下一步按钮”(当我点击第一步时,下一步按钮将是第二步,…),并且在用户单击按钮“下一步”之前不触发按钮。所以如果我用这个方法,当我问第一步的时候,第二步会显示出来。我想我理解你现在的要求。我在
上使用$添加了一个备选答案。