如何处理/跟踪文本框上的多个事件(由onchange,onblur,onclick上的其他元素创建)

时间:2015-05-20 09:44:33

标签: javascript jquery html

我有文本框区域,长度,高度像

[spinner BTN-A(+)] 
     <input type="text" name="total_area" id="abc" value="0"> 
[spinner BTN-A (-)]

[spinner BTN-B (-)]
         <input type="text" name="height" id="height" value="0">
[spinner BTN-B (-)]

[spinner BTN-C (-)]
        <input type="text" name="width" id="width" value="0">
[spinner BTN-C (-)]

这里[spinner BTN-{A|B|C} (+|-)]是微调HTML按钮,它将文本框值递增/递减1.(加载时为0)

我想获取所有文字框的值。因为我正在使用jquery触发器触发公共函数calculate()

function calculate() {
  //javascript Code to calculate area
}

在现有代码中,我使用onchange,onblur,onclick和更多事件来检查文本框的值是否有变化。

是否有可能在jquery中编写一个公共触发器来处理特定文本框中的所有更改,关于哪个事件正在更改它(onchange,onblur,onclick)?

2 个答案:

答案 0 :(得分:2)

$('input[type="text"]').on('input', function() {
       // the code here will execute whenever a value changes
});

请注意,onclick事件不会更改文本输入的值,但如果您也想要处理它,则可以像这样添加它:

$('input[type="text"]').on('input click', function() {
       // will execute on value change + onclick
});

答案 1 :(得分:0)

使用jQuery,您可以同时将事件处理程序绑定到多个事件:https://api.jquery.com/on/

规范是: .on(events [,selector] [,data],handler) 事件 类型:字符串 一个或多个以空格分隔的事件类型和可选的命名空间,例如“click”或“keydown.myPlugin”。

您可以使用如下: $(“输入”)。on(“点击模糊更改”,your_eventhandler);