为什么我写一个click()事件,其中输入字段(由jquery ui组合框小部件创建)在选择器的范围内,事件永远不会触发?
我的表单有一个验证,突出显示整个父级< div>当最终用户没有正确填写时,使用css类'reqFieldGroupEmpty'的那个表单字段。
当用户点击错过的必填字段时,我有一个click()事件删除该表单字段的父类
$('input, textarea, select').click(function () { $('div').removeClass('reqFieldGroupEmpty') });
但是,正如我在开始时提到的,创建的组合框不会触发click(),因此不会删除该类。
我错过了什么?
感谢您的帮助!
答案 0 :(得分:0)
尝试绑定到focus()事件而不是单击...
答案 1 :(得分:0)
JakeCigar通过jQuery论坛回复: http://forum.jquery.com/topic/jquery-ui-combobox-widget-not-working-with-click-event#14737000003343231
单击仅查找设置时存在的元素。 使用延迟形式的.on() - jQuery API
$('body').on('click’, 'input, textarea, select' , function () { $('div').removeClass('reqFieldGroupEmpty') });
JΛ̊KE“
答案 2 :(得分:0)
我想我可以重现一下wizzy看到的东西。此代码在$(function(){...});
:
$('<button>', {text: 'Go'}).appendTo($('body')).on('click', function() {
console.log('clicked');
});
但是在一个小部件中,单击的永远不会被记录。例如:
_init: function() {
$('<button>', {text: 'Go'}).appendTo(this.element).on('click', function() {
console.log('clicked');
});
}
附加了按钮,但似乎没有触发任何点击事件。