Live()jquery函数无法正常工作

时间:2014-03-31 12:41:15

标签: jquery toggle live

我有这个表格形式:

<?php while($resulat = $sql_adherent->fetch_object()): ?>
<tr>
   <td class="highlight">
       <div class="important"></div>
           <a href="#"><?php echo $resulat->nom_compte; ?></a>
   </td>                                 
   <td class="hidden-xs"><?php echo $resulat->cin; ?></td>
   <td class="hidden-xs"><?php echo $resulat->sexe; ?></td>
   <td><?php echo $resulat->date_naissance; ?></td>
   <td></td>
   <td><?php echo $resulat->date_effet; ?></td>
   <td><?php echo $resulat->date_expiration; ?></td>
   <td><a href="#" class="btn default btn-xs red-stripe" id="validate">Validate</a></td>
 </tr>                             

我想将“验证”更改为“验证”,点击id =“validate” 我正在使用live()函数来执行此操作,但它无法正常工作

以下是我正在使用的代码:

$("#validate").live('click', function(e){
    e.preventDefault();

    $(this).addClass('green-stripe');
    $(this).removeClass('red-stripe');
    $(this).html('Validated');    
  });

我尝试更改代码以切换“验证”&amp;使用此代码“验证”

$("#validate").toggle(function(e){
    e.preventDefault();  

    $(this).addClass('green-stripe');
    $(this).removeClass('red-stripe');
    $(this).html('Validated');    
  }, function(){
     $(this).addClass('red-stripe');
     $(this).removeClass('green-stripe');
     $(this).html('Validate');
});

但也行不通..我知道我做错了但却找不到错误..

3 个答案:

答案 0 :(得分:1)

live已弃用,因此请勿尝试再使用它,请改用on

不推荐使用

toggle事件作为单击处理程序不再使用anche,在这种情况下,您可以检查您的元素是否具有类作为标识元素。

价:

  

注意:此方法签名在jQuery 1.8中已弃用并已删除   在jQuery 1.9中。 jQuery还提供了一个名为的动画方法   .toggle()切换元素的可见性。是否   动画或触发的事件方法取决于参数集   过去了。

要切换课程,您可以将toggleClass用于多个课程。

代码:

$("#validate").on('click', function (e) {
    e.preventDefault();

    $(this).toggleClass('red-stripe green-stripe');

    ($(this).hasClass('red-stripe')) ? $(this).html('Validate') : $(this).html('Validated');
});

演示:http://jsfiddle.net/IrvinDominin/VyD6x/

答案 1 :(得分:0)

.live已弃用。将你的js更改为此。

$(document).on('click', '#validate', function(e){
e.preventDefault();

$(this).addClass('green-stripe');
$(this).removeClass('red-stripe');
$(this).html('Validated');    
});

答案 2 :(得分:0)

阅读直播是Deprecated

.toggle()已弃用:1.8,已删除:1.9

使用.on()

阅读Event Delegation

使用.toggleClass()

$(document).on('click', '#validate', function(e){
   $(this).toggleClass('green-stripe red-stripe');
});