我知道.live
已折旧,最近我正在更新一个页面并意识到我正在使用.live
我想切换到.on
但不明白要更改什么。这是我目前的代码:从.live更改为.on
//Script for Choosing which form to display
$("#email-button, #text-button").live('click',
function(){
//figure out what button was clicked.
if(this.id === "email-button"){
var btnA = $(this);
var btnB = $("#text-button");
var divA = $('#email-form');
var divB = $('#text-form');
}
else{
btnA = $(this);
btnB = $("#email-button");
divA = $('#text-form');
divB = $('#email-form');
}
//make sure it is not already active, no use to show/hide when it is already set
if(btnA.hasClass('dark_button_span')){
return;
}
//see if div is visible, if so hide, than show first div
if(divB.is(":visible")){
divB.fadeOut("slow", function(){
divA.fadeIn("slow");
});
}
else{//if already hidden, just show the first div
divA.fadeIn("slow");
}
//Add and remove classes to the buttons to switch state
btnA.addClass('dark_button_span').removeClass('light_button_span');
btnB.removeClass('dark_button_span').addClass('light_button_span');
}
);
我曾帮助编写上述脚本,不知道要更改什么。简单地改变.live to .on不起作用。
任何帮助将不胜感激!
谢谢!
http://api.jquery.com/live/ ---在文档中有如何做到这一点的示例 – zerkms
在使用'.live()','.delegate()','.on( )'或类似的东西,花一个小时左右的时间阅读*“事件代表团”*。它基本上是如何工作的*(有时用'.on()')*,这是一个非常简单的概念,也是每个人都应该理解的事情之一。 –
@ user1689607 - 感谢您的建议,我会阅读。 – L84