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 回答