【问题标题】:jquery event listener on checkbox disable复选框禁用jQuery事件监听器
【发布时间】:2011-03-08 20:52:39
【问题描述】:

我目前正在寻找输入 type=checkbox 的事件监听器,当禁用状态更改时触发

  1. 任何触发器更改都会禁用站点上任何复选框的状态
  2. 状态更改触发的事件监听器

我不想将事件添加到更改复选框状态的第一个触发器。它必须是独立的,因为触发器可能会改变。

到目前为止我所尝试的:

$(function(){
      $('.trigger').live('click', function(){            
          $('.eventbox').attr('disabled','disabled');
      });


      $('.eventbox').live('change', function(){
          alert('state changed');
      });
 });

不幸的是,更改不起作用。

感谢您的帮助。 杰西

【问题讨论】:

  • 你的意思是“禁用”还是“选中”状态?
  • 如何禁用复选框?你用.button('disable')吗?
  • 仅在选中或未选中复选框时更改曲目,即更改这两个。您确定要跟踪复选框是否启用/禁用?抱歉重复的问题,但我想确定:)
  • 看起来很有希望,但不适用于:$('body').change(function(event){ event = event || window.event; console.log(event.target) ; console.log(event.srcElement); });它总是显示点击事件,但属性不改变

标签: javascript jquery


【解决方案1】:

你能在复选框禁用的东西上触发吗?我的意思是,如果您有一些按钮作为副作用禁用了单击时的某些复选框,您能否将侦听器固定在单击按钮上?

【讨论】:

  • 对不起,我没有得到你的答案。我不想向触发器添加某些内容,因为它可能会更改或其他触发器可能会导致禁用复选框。这些其他触发器可能不是点击事件。
【解决方案2】:

试试这个。我认为您真的想跟踪复选框的选中/取消选中而不是启用/禁用。

$(function(){
      $('.trigger').live('click', function(){            
          $('.eventbox').removeAttr('checked');
      });


      $('.eventbox').live('change', function(){
          alert('state changed');// this will be fired only if state was checked
      });
 });

【讨论】:

猜你喜欢
  • 2016-06-17
  • 2011-11-22
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
  • 2013-06-14
相关资源
最近更新 更多