2016-03-11 2 views
1

index.html:

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="jquery-1-10-1.js"></script> 
<script type="text/javascript" src="jquery-ui-1-9-2.js"></script> 
<script> 

$(document).ready(function(){ 
    $("#button1").click(function(){ 
     $("#div").css("background","red"); 

     //some code here 

    }); 
}); 
$(function(){ 
    function first(){ 
     $("#div").css("background","red"); 
     $(this).one("click",second); 
    } 
    function second(){ 
     $("#div").css("background","blue"); 
     $(this).one("click",first); 
    } 
    $("#button2").one("click",first); 
}); 

</script> 

</head> 
<body> 
<input type="button" id="button1" value="button1"></input> 
<input type="button" id="button2" value="button2"></input> 
<div id="div">some text</div> 
</body> 
</html> 

, что я должен положить в код здесь, когда я нажимаю на Button1,

$ ("# button2"). один ("щелчок", первый); - $ ("# button2"). One ("click", second);

+1

В чем проблема с кодом? Это работает или что? –

ответ

1

Вы должны unbind существующие one клик событие и установить новый one

$("#button2").unbind("click"); 
$("#button2").one("click",second); 

Это должно отвязать первый и связать второй.

$("#button1").click(function(){ 
    $("#div").css("background","red"); 
    $("#button2").unbind("click"); 
    $("#button2").one("click",second); 
}); 
+0

Кроме того, я должен поставить функцию первой и второй из ** $ (function() {}); ** – mzage