【问题标题】:jquery form change,click event not recognized by functionjquery表单更改,功能无法识别单击事件
【发布时间】:2013-04-11 11:40:55
【问题描述】:

在我的表单上,当我更改输入值时,点击事件不起作用。

演示 http://jsfiddle.net/RHuYs/3/

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

【问题讨论】:

    标签: jquery forms onclick onchange


    【解决方案1】:

    语法是 '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/

    【讨论】:

    • 好的,谢谢你的发现,但仍然没有改变输入值(更改点击)任何想法?
    【解决方案2】:

    看看这里有什么问题:

    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();
       });
    });
    

    Updated fiddle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-02
      • 1970-01-01
      • 2015-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多