$(" id")。触发器("点击")不调用:与该元素关联的活动选择器

时间:2017-01-06 06:50:48

标签: javascript jquery

所以我有一个id ="一个"我已经设置了该按钮的活动选择器

#one{
  background:#00cc00;
}
#one:active{
  background:#00ff00;
}

现在我使用其他按钮触发上面的按钮,但它不会触发:active selector

 $("#startBtn").on("click", function() {

    $("#one").trigger("click");

  });

触发器需要做什么:主动选择器? 我已经绑定了包含按钮

的类的click事件
 $(".squares").on("click", function() {

    var id = $(this).attr("id");
    new Audio(audio[mainIndex[id]]).play();

  });

所以音频会播放.trigger事件,但是:Active选择器不会跳转。

4 个答案:

答案 0 :(得分:2)

jQuery事件不会触发CSS伪选择器(焦点,悬停等)。

如果要更改其他按钮的颜色,则需要设置样式,或者添加具有所需样式的类:

#one{
  background:#00cc00;
}
#one.active{
  background:#00ff00;
}

$("#startBtn").on("click", function() {
    $("#one").addClass("active");
    $("#one").trigger("click");
});

答案 1 :(得分:0)

您需要在触发事件之前绑定事件。像这样:

 $("#one").on("click", function() {
     alert("Button click triggered");
 });
 $("#startBtn").on("click", function() {
     $("#one").trigger("click");
 });

答案 2 :(得分:0)

:active是一种互动状态。我会尝试使用:focus

$("#startBtn").on("click", function() {
    $("#one").trigger('focus');
  });
#one{
  background:#00cc00;
}
#one:focus{
  background:#00ff00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<input type="button" id="startBtn" value="startBtn">
<input type="button" id="one" value="one">

答案 3 :(得分:0)

试试这个

n criteria
<script>
    var num=[];
    function recalculate(rowData,studCode) {        
        var n = document.getElementById('criteria_count').value;    
        num.push(parseFloat(document.getElementById('criteria_mark_'+rowData).value));
        var total=0;

        for (var i = 0; i <n; i++) {
            total = total + parseFloat(num[i]) ;
            if (!isNaN(total)) {
                document.getElementById('total_mark_'+studCode).value = Math.round(total);
            }
        }      
    }
</script>
$("#one").on("click", function() {
  console.log("Clicked One");
});
$('#startBtn').mousedown(function() {
  $("#one").addClass('active').trigger("click");
}).mouseup(function() {
  $("#one").removeClass('active');
});