javascript - 為何我的點擊事件要點兩次才觸發!線上等,急! ! !
某草草
某草草 2017-05-18 10:59:32
0
6
724

如圖:
如果沒同意那個協定,點擊右下角按鈕,就不能發布委託,彈出對話框提示,同時,將按鈕設定為disabled屬性。 (即:停用按鈕)
然後我又寫了個點擊事件,如果勾選了那個同意協議,讓按鈕恢復。
然後這個時候出現問題了,我該怎麼判定事件呢,我不知道該怎麼觸發第二個事件將按鈕改掉禁用狀態了。

這個時候,我嘗試寫了個點擊事件,就是點擊這個單選框的父元素,也就是點擊那一塊,都可以觸發,觸發後,將右下角的按鈕改為可以點擊。

然後我發現,按鈕被禁用後,我要點擊兩次才可以!

後來我又發現,如果我在第一步,就是不同意協議,然後彈框,然後將右下按鈕disabled的時候,
我讓那個協議的label為選中狀態這次只用點擊一次就可以了!
然而,這樣一來,意思又不對了,網站不點同意協議不能點右下角按鈕,可是如果點擊了按鈕,網站自己把協議選中為同意狀態,這不就是強制用戶同意協議了? !所以,有沒有老哥幫忙想想辦法呀!急! ! !

下邊是圖片和程式碼:
剛開始狀態:

#點選後狀態:

#下邊是程式碼:

<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})
    }
})
某草草
某草草

全部回覆(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來禁止。

我想大声告诉你

能不能簡單的描述,你說這麼多,看著真的很費力。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板