为什么我的第二个功能无法使用jquery click方法?

时间:2018-07-14 08:34:53

标签: jquery

$(document).ready(()=>{     
      $('#perform').click(function(){//when clicked it changes text of button to 
                                      show from hide    
          $('#perform').text('Show')        
           $('#message').hide()   //hides the text      
       }, function(){            
            $('#perform').text('Hide')           
            $('#message').show()       
      }); 
  });  

ID #perform是一个按钮,ID #message是div的。 为什么我的第二个功能不起作用?

单击按钮时,它会隐藏div并将#message更改为显示。当我们单击show时,它会显示div

1 个答案:

答案 0 :(得分:0)

当然:使用toggle()是更好的解决方案。但要回答您的问题:

好像您要将两个参数传递给“ set click()event”函数。根据{{​​3}},这被解释为.click( [eventData ], handler )->您的第二个函数被添加为处理程序。

如果您确实要强制执行此操作,则每次单击元素时都需要重新设置click()处理程序:

function hideMessage(){
  $('#perform').text('Show');        
  $('#message').hide();   //hides the text
  $('#perform').click(showMessage);
}

function showMessage(){            
  $('#perform').text('Hide');
  $('#message').show();
  $('#perform').click(hideMessage);
}

$(document).ready(()=>{     
  $('#perform').click(hideMessage); 
});

经过the documentation

的测试