我正在编写一个用于验证的通用 Jquery 脚本,我正在选择触发按键事件的元素,而没有实际传递下面代码中指定的 ID 元素 #elementid
。- ->var element = **pick the object**//$('input[type=number][validate=something]');
.
- 请注意,下面的代码将
validation
的所有数字类型和属性值的输入字段都提取为something
。 - 获取发生按键事件的字段的最大长度值。
- 避免在输入中调用 java 脚本函数。
- 编写一个适用于所有页面的通用脚本,而不是通过 id 属性选择元素。
下面的示例 JS
<!DOCTYPE html>
<html>
<head>
<title>Validation</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<input validate="something" type="number" maxlength="9" />
<input validate="something" type="number" maxlength="9" />
<script>
$('input[type=number][validate=something]').on('keypress', function(evt,obj) {
var element =**pick the object**// $('input[type=number][validate=SSN]');
var len = element.val().length + 1;
var max = element.attr("maxlength");
if (!(len <= max)) {
// some code
}
});
</script>
</body>
</html>
最佳答案
您已挂接事件的元素在处理程序中作为 this
可用;要将其包装在 jQuery 对象中,请使用 $()
:
var element = $(this);
关于javascript - 一般脚本 : selecting the input element for which keypress event is fired, 没有实际传递 ID 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39697208/