![](/img/trans.png)
[英]How to make the js function “onClick” work only on the container div?
[英]How to make onClick JS function work only on radio buttons
我在我网站上的一个表单中使用了formlider库 ,就像在演示中幻灯片移动到下一组问题一样 - 基于任何单选按钮上的点击事件(答案)。
现在,当我试图为人们添加复选框以从表单中选择多个选项时,它不起作用。 一旦你点击复选框而不是等待用户选择所有这些,然后点击继续(输入按钮类型),滑块将转到下一张幻灯片
我注意到库中的一个函数是NavigateOnClick这里是它的代码。
JS代码
this.NavigateOnClick = (function(i) {
function n() {
return this.onClick = r(this.('input[type="radio"]').onClick, this), this.init = r(this.init, this), n.__super__.constructor.apply(this, arguments)
}
return (
o(n, i),
(n.config = {
actions: [
{
selector: ".answer",
action: "next",
wait: 200
},
{
selector: ".next-button",
action: "next",
wait: 10
},
{
selector: ".prev-button",
action: "prev",
wait: 10
}
]
}),
(n.prototype.init = function() {
var i, n, e, r, o;
for (o = this.config.actions, e = 0, r = o.length; e < r; e++)
(n = o[e]),
(i = t(n.selector, this.container)),
i.on("mouseup", n, this.onClick);
}),
(n.prototype.onClick = function(t, i) {
if ((t.preventDefault(), !this.timeout))
return (this.timeout = setTimeout(
(function(i) {
return function() {
return i.formslider[t.data.action].call(), (i.timeout = null);
};
})(this),
t.data.wait
));
}),
n
);
})(AbstractFormsliderPlugin);
我尝试将输入类型附加到this.onClick但它不起作用。 注意它如何选择班级.answer
要更清楚地了解表单的外观,下面是我的HTML片段
HTML代码
<div class="slide" data-role="question" data-id="9">
<div class="headline">Choose all of the correct options</div>
<input type="hidden" name="slides[8][question]" value="">
<div class="answers">
<div class="answer" data-next-id="5">
<label class="inner-answer" for="slides[8][answer]">
<input id="question_8_answer_" name="slides[8][answer]" value="option 1" type="checkbox">
<div class="text">Option 1</div>
</label>
</div>
</div>
</div>
我想要实现的目的是使其仅在点击输入类型单选按钮和按钮时导航,或者相反不导航单击输入类型复选框和文本。
我认为n.config
对象中的动作选择你的代码如何运行,你有一个带选择器“.answer”的动作,所以任何带有类answer
div都会触发next
动作。
使用'input[type="radio"]'
更改".answer"
选择器可能会解决您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.