我的代码在jsfiddle中工作,但事件没有触发

时间:2017-09-04 13:34:13

标签: javascript jquery events

这在jsfiddle中非常完美,但是当我将确切的代码放在我的本地副本中时,“on click”事件不会触发。我有jquery,无法弄清楚为什么。任何想法都赞赏。

https://jsfiddle.net/3d867zeu/8/

$( ".dropdown-check-list li input" ).on( "click", function() {
  var maxCheckedAllowed = 2;
  var n = $( ".dropdown-check-list li input:checked" ).length;
  if (n == maxCheckedAllowed) {
    $('.dropdown-check-list li input:not(:checked)').prop('disabled', true);
  } else {
    $('.dropdown-check-list li input:not(:checked)').prop('disabled', false);
  }
});

1 个答案:

答案 0 :(得分:0)

请尝试以下选项。

当您创建$( ".dropdown-check-list li input" )此点击事件时,如果您的下拉复选框在此点击事件代码为excute之前处于绑定状态,那么您的点击就会起作用。但在我的情况下,我使用文档创建一个单击事件,因此每次点击此类上的.dropdown-check-list li input时,我的点击事件都会触发。希望你理解这个解释。

$(document).on( "click",".dropdown-check-list li input", function() {
  var maxCheckedAllowed = 2;
  var n = $( ".dropdown-check-list li input:checked" ).length;
  if (n == maxCheckedAllowed) {
    $('.dropdown-check-list li input:not(:checked)').prop('disabled', true);
  } else {
    $('.dropdown-check-list li input:not(:checked)').prop('disabled', false);
  }
});