繁体   English   中英

如何使onClick JS功能仅在单选按钮上工作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM