1-私はこの単純なhtmlボタンを持っています:
<input type="button" id="testBtn" value="1" />
2-そしていくつかのjquery:
function one()
{
$("#testBtn").val("1")
.click(function(){
zero();
});
}
function zero()
{
$("#testBtn").val("0")
.click(function(){
one();
});
}
$(document).ready(function(){
$("#testBtn").click(function(){
zero();
});
});
3-testBtnを複数回クリックすると、Firefoxに次のメッセージが表示されます。
A script on this page may be busy, or it may have stopped responding. You can stop script now, or you can continue to see if the script will complete. Script: http://localhost/js/jquery-1.7.2.min.js:2
[続行]をクリックすると、Firefoxは上記のメッセージを再度表示します。
4-代わりに次の解決策を使用し、応答しないダイアログを解決することができました:
var state=1;
function onezero()
{
if (state == 1)
{
$("#testBtn").val("0")
.click(function(){
one();
});
}
else
{
$("#testBtn").val("0")
.click(function(){
one();
});
}
}
$(document).ready(function(){
$("#testBtn").click(function(){
onezero();
});
});
5-以上のソリューションはうまく機能しますが、最初のソリューションがjqueryを強制終了するのはなぜですか?