我有一个问题,就是我有一个类来验证输入只允许数字:
$(function() {
$( '.validate_numbers' ).bind('keypress', function (e) {
//console.log(e.which);
return (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) ? false : true;
});
});
但是当我追加另一个输入时:
$('#persons').append('<input type="text" class="validate_numbers">');
使用相同的类,它不会验证输入并允许您键入的任何字符。
如何调用jquery将keybind应用于我追加的输入?
答案 0 :(得分:2)
事件委托允许我们将单个事件侦听器附加到父元素,该元素将为匹配选择器的所有后代触发,无论这些后代现在是存在还是将来添加。
$( '#persons' ).on('keypress','.validate_numbers', function (e) {
//console.log(e.which);
return (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) ? false : true;
});
<强> Working Demo 强>