1

初めてクリックすると、何もありません。2回目は、最初のアラートが2回発生します。3回目は、2番目のアラートが2回発生し、最初のアラートが1回発生します。4回目はさらに奇妙になります。私はtoggle()を間違って使用していると思いますが、その方法がわかりません。コードは

<button onclick="$(this).toggle(function(){alert(1)}, function(){alert(2)})">Play</button>

フィドル: http: //jsfiddle.net/2uRKD/

ありがとう!

4

4 に答える 4

3

Toggleは、代替クリックを切り替えるjqueryイベントであり、切り替えるためにバインドするためにクリックイベントは必要ありません。

ライブデモ

$(function(){

  $('button').toggle(

    function() {
        alert(1);
    },

    function() {
        alert(2);
    });​
  });
于 2012-08-13T15:06:48.263 に答える
1

使用しているメソッドの形式はtoggleイベントです。事実上、これはクリックハンドラーをバインドします。つまり、クリックするたびに、トグルをイベントにバインドしていることになります。私はあなたがそこで拘束しているものの論理を理解しようとするつもりはありません、それが間違っていると言うだけで十分です。:)

代わりにやりたいことは次のようなものです。

$('.ToggleButton').toggle(function(){alert(1)}, function(){alert(2)})

これはdocument.readyまたは同等のものに含まれているはずです。

于 2012-08-13T15:12:40.960 に答える
1

Toggleは、2つの機能を切り替えるためには使用されません。要素を非表示にしたり表示したりすることです。

次に例を示します。

http://jsfiddle.net/2uRKD/4/

于 2012-08-13T15:02:54.303 に答える
1

これを試して:

HTML:

<button type="button">Play</button>

Javascript:

<script>
​$(document).ready(function(){
   $("button").toggle(function(){alert(1)}, function(){alert(2)}) 
});​
</script>

説明はありません:)

于 2012-08-13T15:06:47.377 に答える