1

私はjQuery prettyCheckableを実装しようとしていますが、本当に素敵なスタイルを手に入れました:Dですが、onclickイベントが機能しなくなりました。関数を呼び出すには、入力チェックボックスに onclick イベントが必要です。

このチェックボックスは正常に機能します:

<input id="checkId" type="checkbox" onClick="myFunction()"  />

function myFunction() {alert('works! :D');}

このチェックボックスは非常に美しいですが、onClick イベントは機能しません。

$('input.checkStyle').prettyCheckable();

<input id="checkId" type="checkbox" class="checkStyle" onClick="myFunction()"  />

function myFunction() {alert('not work :(');}

prettyCheckable の詳細については、こちらをご覧ください: http://arthurgouveia.com/prettyCheckable/

Thxと申し訳ありませんが私の英語です!

4

3 に答える 3

3

クリックしていないため、発砲していません。スタイルが可能なプレースホルダー スパンをクリックしています。チェックボックスの入力の変化を検出するには、クリックをリッスンする代わりに jquery change イベントを使用します。

$('input.checkStyle').prettyCheckable();

$('#checkId').on('change', myFunction);

function myFunction() {alert('not work :(');}
于 2012-10-05T02:33:36.697 に答える
0

@Jonathan Chow が言ったように、次のように Javascript / Jquery コードをタグの間に配置するのを忘れている可能性があります。

<script type="text/javascript">
    function myFunction() {
        alert('WORKS');
    }
</script>
<input id="checkId" type="checkbox" class="checkStyle" onClick="myFunction()"  />​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

ただし、次の点に注意してください。

jQuery を使用しているため、「 onClick」属性は必ずしも必要ではありません。jQuery は、DOM の操作とアクセスを容易にすることを目的としています。

そのため、ソリューションは次のように書き直すことができます。

<script type="text/javascript">
    $('#checkId').click(function() {
         alert('WORKS');
    });
</script>
<input id="checkId" type="checkbox" class="checkStyle"  />​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

この時点で、jQuery のprettyCheckable関数 (ロードされている場合) を使用するだけで、準備は完了です。この例は次のようになります。

<script type="text/javascript">
    $('#checkId').click(function() {
         $(this).prettyCheckable();
    });
</script>
<input id="checkId" type="checkbox" class="checkStyle"  />​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
于 2012-10-05T02:37:01.023 に答える
0

ここで何を達成する必要があるかについては、100% 確信が持てません。チェックボックスまたはラジオがチェックされたとき (クリックしたときに発生) を検出したい場合は、on change イベントを追加する必要があります。

まず、HTML で入力を作成し、prettyCheckable CSS および JS ファイルをインポートします。

<input id="checkId" type="checkbox" class="checkStyle"  />​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

次に、適切な JavaScript マークアップでプラグインを初期化し、関数を定義してから、適切なセレクターを使用して .on('change') イベントを追加します。

<script type="text/javascript">

  $('#checkId').prettyCheckable();

  function myFunction() {alert('Works!')}; 

  $('#checkId').on('change', myFunction);

</script>

これでうまくいくはずです。

于 2012-10-09T04:12:37.643 に答える