javascript - Warum muss mein Klickereignis zweimal ausgelöst werden? Warte online, dringend! ! !
某草草
某草草 2017-05-18 10:59:32
0
6
719

Wie im Bild gezeigt:
Wenn Sie der Vereinbarung nicht zustimmen, klicken Sie auf die Schaltfläche in der unteren rechten Ecke. Sie können die Provision nicht freigeben und gleichzeitig wird ein Dialogfeld angezeigt die Schaltfläche zum deaktivierten Attribut. (d. h. die Schaltfläche deaktivieren)
Dann habe ich ein Klickereignis geschrieben, um die Schaltfläche wiederherzustellen, wenn die Vereinbarung überprüft wird.
Dann ist zu diesem Zeitpunkt ein Problem aufgetreten. Wie soll ich das Ereignis ermitteln? Ich weiß nicht, wie ich das zweite Ereignis auslösen soll, um die Schaltfläche in den deaktivierten Zustand zu versetzen.

Zu diesem Zeitpunkt habe ich versucht, ein Klickereignis zu schreiben, das durch Klicken auf das übergeordnete Element dieses Optionsfelds ausgelöst werden kann, dh durch Klicken auf diesen Bereich. Nach dem Auslösen wird die Schaltfläche in der unteren rechten Ecke geändert anklickbar.

Dann habe ich festgestellt, dass ich, nachdem die Schaltfläche deaktiviert wurde, zweimal darauf klicken musste!

Später habe ich herausgefunden, dass ich, wenn ich im ersten Schritt mit der Vereinbarung nicht einverstanden bin und dann ein Feld aufblende und dann die Schaltfläche unten rechts deaktiviere,
die Bezeichnung der Vereinbarung auswähle und dieses Mal nur einmal darauf klicken muss. !
In diesem Fall ist die Bedeutung jedoch falsch. Die Website kann nicht auf die Schaltfläche in der unteren rechten Ecke klicken, wenn sie jedoch auf die Schaltfläche klickt den Benutzer zwingen, der Vereinbarung zuzustimmen? ! Kann mir jemand helfen, eine Lösung zu finden? dringend! ! !

Das Folgende sind Bilder und Codes:
Startstatus:

Status nach dem Klicken:

Hier ist der Code:

<p class="form-group">
    <p class="checkbox col-xs-offset-2">
        <label class="checkbox-inline">
            <input type="checkbox">
            <span class="text-danger">我已经阅读并同意</span>&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:;" class="text-primary" target="_blank">《XXXXXXX隐私保护协议》</a>
        </label>
    </p>
</p>
<br>
<p class="row">
    <input type="submit" class="btn btn-info col-xs-offset-3" value="发布专项委托">
</p>


$('.zWt_release_agree').parent().mouseup(function(){
    if($('.zWt_release_agree').attr("checked")){
        $('.zWt_release_spec').attr({"disabled":false})
    }
})
$('.zWt_release_spec').mouseup(function(){
    if(!$('.zWt_release_agree').attr("checked")){
        alert('您必须同意《花瓣儿网隐私保护协议》后,才可以发布委托!')
        $('.zWt_release_spec').attr({"disabled":true})
        $('.zWt_release_agree').attr({"checked":true})
    }
})
某草草
某草草

Antworte allen(6)
迷茫

泻药。

不知这是不是你想要的?

https://jsfiddle.net/wcw5qo44/1/

(function () {
  var $button = $("button"), $check = $("input[type=checkbox]");
  $button.on('click', function () {
      if (!$check.is(":checked")) {
        $button.prop("disabled", true);
      alert('请勾选');
    } else alert('成功');
  });
    $check.on("change", function () {
      $button.prop("disabled", !$check.is(":checked"));
  });
  
})();
给我你的怀抱

同上,我看了下代码知道大致是什么意思,但是没听懂你表达的问题...

習慣沉默

表达能力不行啊老哥

你这个button的点击事件只需要绑定一个啊,在回调里面判断radio的状态,然后做不同的处理。另外绑定事件干嘛要用mouseup?

刘奇

$('.zWt_release_agree').parent().mouseup(function()改成$('.zWt_release_agree').parent().click(function()就好了,你试下,还有我觉得第二个绑定事件多此一举,要是我做直接默认这个按钮为disabled,然后checkbox绑定click事件,如果选中状态disabled为false,否则为true

淡淡烟草味

谢邀.

稍微捋下逻辑~

  1. 初始状态,btn是不是默认应该是disabled的?勾选后才会点亮啊。

  2. 勾选事件,表单有没有独立的表单事件可以用?jQ有没有给相关的接口?这个去查手册。

  3. 接上条,checked是否需要手动改?

  4. 布尔属性是一种固有属性,建议通过.prop()设置为false来禁止。

我想大声告诉你

能不能简单的描述,你说这么多,看着真的很费劲啊。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage