如何根据现有触发器创建自定义 jquery 触发器
How to create custom jquery trigger based on existing one
我有一个带有电子邮件的注册表单,
我正在使用 ParsleyJS 来验证客户端。
当我使用 data-parsley-trigger="keyup"
属性时,它工作完美,但是
我们只想在用户按下 @
键盘按钮时过滤 keyup
,
因为我们更喜欢它而不是在第一个 keyup 上开始 parsley 验证。
parsley framwork 支持 jquery 事件,所以我添加自己的自定义 keyup 应该可以。
类似于:
<input type="text" data-parsley-type="email" data-parsley-trigger="focusout customkeyup"/>
jQuery('#myForm').keyup( function(e) {
if (e.which == 50) {
console.log('Charcter was typed. It was: " + String.fromCharCode(e.which)');
jQuery(document).trigger('customkeyup');
}
});
但它不起作用 - 我希望它在按下 @
后才开始验证,不幸的是只有 focusout
似乎有效,请帮助。
已解决:
我使用 stopPropagation()
手动停止 keyup
触发器,只有当 @
被点击时,然后手动触发我的自定义触发器。
jQuery('#contactEmail').keyup( function(e) {
e.stopPropagation();
if (e.which == 50) {
console.log('Charcter was typed. It was: " + String.fromCharCode(e.which)');
jQuery('#contactEmail').trigger('customkeyup')
}
});
和输入:
<input type="text" id="contactEmail" data-parsley-type="email" data-parsley-trigger="customkeyup"/>
我有一个带有电子邮件的注册表单, 我正在使用 ParsleyJS 来验证客户端。
当我使用 data-parsley-trigger="keyup"
属性时,它工作完美,但是
我们只想在用户按下 @
键盘按钮时过滤 keyup
,
因为我们更喜欢它而不是在第一个 keyup 上开始 parsley 验证。
parsley framwork 支持 jquery 事件,所以我添加自己的自定义 keyup 应该可以。
类似于:
<input type="text" data-parsley-type="email" data-parsley-trigger="focusout customkeyup"/>
jQuery('#myForm').keyup( function(e) {
if (e.which == 50) {
console.log('Charcter was typed. It was: " + String.fromCharCode(e.which)');
jQuery(document).trigger('customkeyup');
}
});
但它不起作用 - 我希望它在按下 @
后才开始验证,不幸的是只有 focusout
似乎有效,请帮助。
已解决:
我使用 stopPropagation()
手动停止 keyup
触发器,只有当 @
被点击时,然后手动触发我的自定义触发器。
jQuery('#contactEmail').keyup( function(e) {
e.stopPropagation();
if (e.which == 50) {
console.log('Charcter was typed. It was: " + String.fromCharCode(e.which)');
jQuery('#contactEmail').trigger('customkeyup')
}
});
和输入:
<input type="text" id="contactEmail" data-parsley-type="email" data-parsley-trigger="customkeyup"/>