如何将事件附加到控件

时间:2018-11-17 11:13:24

标签: javascript jquery

我要在表单中的按钮单击事件和基于数据类型的已添加下拉列表的更改事件的动态添加下拉列表控件,这些数据类型要将onkeypress事件绑定/附加到文本框。为此,我正在使用下面的代码,但是它不起作用。

$("#txtDefaultValue_" + id).bind("onkeypress", "return isNumber(event)")

所以请让我知道如何将事件附加或绑定到控件。

1 个答案:

答案 0 :(得分:3)

编辑:我之前没有注意到,但是活动应该是keypress而不是onkeypress


.bind()的第二个参数应该是一个函数,而不是字符串:

$("#txtDefaultValue" + id).bind("keypress", function(event) {
  return isNumber(event);
});

或更简洁地说:

$("#txtDefaultValue" + id).bind("keypress", event => isNumber(event));

但是,应该注意,.bind()自jQuery 3.0起已被弃用(尽管从1.7开始不鼓励使用它)。相反,您应该使用.on(),在您的简单情况下,它具有相同的呼叫签名:

$("#txtDefaultValue" + id).on("keypress", event => isNumber(event));