0

私のフォームでは、入力値を変更している間、クリック イベントが機能しません。

デモ http://jsfiddle.net/RHuYs/3/

$('form.form-calculator input').on('change,click', function() {
    if ($(this).val() === 0) {
        alert('HELLO');
        this.value=0;
    }
    calc_total();
});
4

2 に答える 2

0

構文は'change click'カンマではなく空白です:)

編集

フィドルに別の問題があります。リスナーは calc_total() 関数にネストされています。編集して、ドキュメントの準備ができた関数に入れました。うまくいくようです。

$(document).ready(function(){
    $('form.form-calculator input').on('change click', function() {
        if ($(this).val() === 0) {
            alert('HELLO');
            this.value=0;
        }
        calc_total();
    });
});

http://jsfiddle.net/zMAz6/

于 2013-04-11T11:42:33.327 に答える
0

ここで問題が何であるかを参照してください:

  1. .click()内部calc_total()関数があり、doc readyハンドラーにある必要があります。
  2. 3 つの等号は「型強制なしの等価」を意味するため、ここでは==代わりに使用します。===トリプルイコールを使用すると、値の型も同じでなければなりません。

これを試して:

$(function () {
   $('form.form-calculator input').on('change click focus', function () {
      if ($(this).val() == 0) {
        alert('HELLO');
        this.value = 0;
      }
      calc_total();
   });
});

更新されたフィドル

于 2013-04-11T11:59:34.233 に答える